book.cs
来自「这是一个编好的网上书店系统」· CS 代码 · 共 604 行 · 第 1/2 页
CS
604 行
using System;
using System.Data;
using System.Data.SqlClient;
using System.Collections;
using RobertSoft.BookStore.DBClass;
namespace RobertSoft.BookStore
{
/// <summary>
/// Book 的摘要说明。
/// </summary>
public class Book : DBBaseClass
{
#region "Functions of Book"
public Book()
{
// TODO: 在此处添加构造函数逻辑
}
/// <summary>
/// Get all of the book
/// </summary>
/// <returns>DataView</returns>
public DataView GetBook()
{
string strSql;
DataSet currentDS;
strSql = "select * from [BookInfo]";
currentDS = ExecuteSQLForDS(strSql);
return currentDS.Tables[0].DefaultView;
}
/// <summary>
/// Get new book by id in dec
/// </summary>
/// <returns>DataView</returns>
public DataView GetNewBook()
{
string strSql;
DataSet currentDS;
//strSql = "select Top 20 ID, BookName, Cover, Description from [BookInfo] order by ID desc";
strSql = "select Top 20 ID, BookName, Description, Cover=case when(not Cover is null) then ' <img src=ReadBookCover.aspx?id='+cast(ID as varchar(10))+' Border=1 width=60 height=75>' else ' <img src=img/NoCover.jpg border=1 width=60 height=75>' end from [BookInfo] order by ID desc";
currentDS = ExecuteSQLForDS(strSql);
return currentDS.Tables[0].DefaultView;
}
/// <summary>
/// Get news of the website
/// </summary>
/// <returns></returns>
public DataView GetNews()
{
string strSql;
DataSet currentDS;
strSql = "select Top 20 ID, Title from [News] order by ID desc";
currentDS = ExecuteSQLForDS(strSql);
return currentDS.Tables[0].DefaultView;
}
public DataRow GetNewsDetail(int nID)
{
string strSql;
DataSet currentDS;
try
{
strSql = "select * from [News] where ID=" + nID;
currentDS = ExecuteSQLForDS(strSql);
return currentDS.Tables[0].Rows[0];
}
catch(System.Data.SqlClient.SqlException e)
{
throw new Exception(e.Message);
}
}
/// <summary>
/// Get Special Price Book
/// </summary>
/// <returns></returns>
public DataView GetSpecialPriceBook()
{
string strSql;
DataSet currentDS;
// strSql = "select Top 20 ID, BookName, Cover, Description from [BookInfo] where SpecialPrice=1 order by ID desc";
strSql = "select Top 20 ID, BookName, Description, Cover=case when(not Cover is null) then ' <img src=ReadBookCover.aspx?id='+cast(ID as varchar(10))+' Border=1 width=60 height=75>' else ' <img src=img/NoCover.jpg border=1 width=60 height=75>' end from [BookInfo] where SpecialPrice=1 order by ID desc";
currentDS = ExecuteSQLForDS(strSql);
return currentDS.Tables[0].DefaultView;
}
/// <summary>
/// Get queried books
/// </summary>
/// <param name="str">string</param>
/// <returns></returns>
public DataView GetBookEx(string str)
{
DataSet currentDS;
currentDS = ExecuteSQLForDS(str);
return currentDS.Tables[0].DefaultView;
}
/// <summary>
/// Get book's cover
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public DataView GetBookCover(int id)
{
DataSet currentDS;
string strSql;
strSql = "select Cover from [BookInfo] where ID=" + id;
currentDS = ExecuteSQLForDS(strSql);
return currentDS.Tables[0].DefaultView;
}
/// <summary>
/// Get top 10 the best sold books
/// </summary>
/// <returns>DataView</returns>
public DataView GetSaleTop10()
{
string strSql;
DataSet currentDS;
strSql = "select top 20 * from [BookInfo] order by BookInfo.SoldNumber DESC";
currentDS = ExecuteSQLForDS(strSql);
return currentDS.Tables[0].DefaultView;
}
/// <summary>
/// Get top 10 the best hit books
/// </summary>
/// <returns>DataView</returns>
public static DataView GetHitTop10()
{
string strSql;
DataSet currentDS;
strSql = "select top 20 * from [BookInfo] order by BookInfo.HitNumber DESC";
currentDS = ExecuteSQLForDS(strSql);
return currentDS.Tables[0].DefaultView;
}
/// <summary>
/// Add a book to database
/// </summary>
/// <param name="tmpArrayList">ArrayList</param>
public void AddBook(ArrayList tmpArrayList)
{
SqlConnection currentConn = new SqlConnection(strConn);
SqlCommand currentCmd = new SqlCommand("AddBookInfo", currentConn);
currentCmd.CommandType = CommandType.StoredProcedure;
// BookName, PublishingHouse, ClassInfo, Author, Translator, ISBN, Pages
currentCmd.Parameters.Add(new SqlParameter("@name", SqlDbType.VarChar, 80));
currentCmd.Parameters["@name"].Value = tmpArrayList[0];
currentCmd.Parameters.Add(new SqlParameter("@publishinghouse", SqlDbType.VarChar, 80));
currentCmd.Parameters["@publishinghouse"].Value = tmpArrayList[1];
currentCmd.Parameters.Add(new SqlParameter("@classInfo", SqlDbType.Int));
currentCmd.Parameters["@classInfo"].Value = tmpArrayList[2];
currentCmd.Parameters.Add(new SqlParameter("@author", SqlDbType.VarChar, 40));
currentCmd.Parameters["@author"].Value = tmpArrayList[3];
currentCmd.Parameters.Add(new SqlParameter("@translator", SqlDbType.VarChar, 40));
currentCmd.Parameters["@translator"].Value = tmpArrayList[4];
currentCmd.Parameters.Add(new SqlParameter("@isbn", SqlDbType.VarChar, 40));
currentCmd.Parameters["@isbn"].Value = tmpArrayList[5];
currentCmd.Parameters.Add(new SqlParameter("@pages", SqlDbType.Int));
currentCmd.Parameters["@pages"].Value = tmpArrayList[6];
// PageLarge, SeriesName,
currentCmd.Parameters.Add(new SqlParameter("@pagelarge", SqlDbType.Int));
currentCmd.Parameters["@pagelarge"].Value = tmpArrayList[7];
currentCmd.Parameters.Add(new SqlParameter("@seriesname", SqlDbType.VarChar, 60));
currentCmd.Parameters["@seriesname"].Value = tmpArrayList[8];
// PublishDate, Price, Description, Abstract, BookCatalog, Cover, CommentNumber, HitNumber, SoldNumber,
currentCmd.Parameters.Add(new SqlParameter("@publishdate", SqlDbType.VarChar, 40));
currentCmd.Parameters["@publishdate"].Value = tmpArrayList[9];
currentCmd.Parameters.Add(new SqlParameter("@price", SqlDbType.VarChar, 40));
currentCmd.Parameters["@price"].Value = tmpArrayList[10];
currentCmd.Parameters.Add(new SqlParameter("@description", SqlDbType.Text));
currentCmd.Parameters["@description"].Value = tmpArrayList[11];
currentCmd.Parameters.Add(new SqlParameter("@abstract", SqlDbType.Text));
currentCmd.Parameters["@abstract"].Value = tmpArrayList[12];
currentCmd.Parameters.Add(new SqlParameter("@bookcatalog", SqlDbType.Text));
currentCmd.Parameters["@bookcatalog"].Value = tmpArrayList[13];
currentCmd.Parameters.Add(new SqlParameter("@cover", SqlDbType.Image));
currentCmd.Parameters["@cover"].Value = tmpArrayList[14];
currentCmd.Parameters.Add(new SqlParameter("@commentnumber", SqlDbType.Int));
currentCmd.Parameters["@commentnumber"].Value = tmpArrayList[15];
currentCmd.Parameters.Add(new SqlParameter("@hitnumber", SqlDbType.Int));
currentCmd.Parameters["@hitnumber"].Value = tmpArrayList[16];
currentCmd.Parameters.Add(new SqlParameter("@soldnumber", SqlDbType.Int));
currentCmd.Parameters["@soldnumber"].Value = tmpArrayList[17];
// Status, SpecialPrice, Discount
currentCmd.Parameters.Add(new SqlParameter("@status", SqlDbType.Int));
currentCmd.Parameters["@status"].Value = tmpArrayList[18];
currentCmd.Parameters.Add(new SqlParameter("@specialprice", SqlDbType.Int));
currentCmd.Parameters["@specialprice"].Value = tmpArrayList[19];
currentCmd.Parameters.Add(new SqlParameter("@discount", SqlDbType.Int));
currentCmd.Parameters["@discount"].Value = tmpArrayList[20];
try
{
currentConn.Open() ;
currentCmd.ExecuteNonQuery() ;
}
catch(System.Data.SqlClient.SqlException e)
{
throw new Exception(e.Message);
}
finally
{
currentCmd.Dispose() ;
currentConn.Close() ;
}
}
/// <summary>
/// Add a book to database
/// </summary>
/// <param name="tmpArrayList">ArrayList</param>
public void UpdateBook(ArrayList tmpArrayList, bool bIsHasImage)
{
SqlConnection currentConn = new SqlConnection(strConn);
SqlCommand currentCmd;
if(bIsHasImage)
{
currentCmd = new SqlCommand("UpdateBookInfo", currentConn);
}
else
{
currentCmd = new SqlCommand("UpdateBookInfoNoImage", currentConn);
}
currentCmd.CommandType = CommandType.StoredProcedure;
// BookName, PublishingHouse, ClassInfo, Author, Translator, ISBN, Pages
currentCmd.Parameters.Add(new SqlParameter("@name", SqlDbType.VarChar, 80));
currentCmd.Parameters["@name"].Value = tmpArrayList[0];
currentCmd.Parameters.Add(new SqlParameter("@publishinghouse", SqlDbType.VarChar, 80));
currentCmd.Parameters["@publishinghouse"].Value = tmpArrayList[1];
currentCmd.Parameters.Add(new SqlParameter("@classInfo", SqlDbType.Int));
currentCmd.Parameters["@classInfo"].Value = tmpArrayList[2];
currentCmd.Parameters.Add(new SqlParameter("@author", SqlDbType.VarChar, 40));
currentCmd.Parameters["@author"].Value = tmpArrayList[3];
currentCmd.Parameters.Add(new SqlParameter("@translator", SqlDbType.VarChar, 40));
currentCmd.Parameters["@translator"].Value = tmpArrayList[4];
currentCmd.Parameters.Add(new SqlParameter("@isbn", SqlDbType.VarChar, 40));
currentCmd.Parameters["@isbn"].Value = tmpArrayList[5];
currentCmd.Parameters.Add(new SqlParameter("@pages", SqlDbType.Int));
currentCmd.Parameters["@pages"].Value = tmpArrayList[6];
// PageLarge, SeriesName,
currentCmd.Parameters.Add(new SqlParameter("@pagelarge", SqlDbType.Int));
currentCmd.Parameters["@pagelarge"].Value = tmpArrayList[7];
// PublishDate, Price, Description, Abstract, BookCatalog, Cover, CommentNumber, HitNumber, SoldNumber,
currentCmd.Parameters.Add(new SqlParameter("@publishdate", SqlDbType.VarChar, 40));
currentCmd.Parameters["@publishdate"].Value = tmpArrayList[8];
currentCmd.Parameters.Add(new SqlParameter("@price", SqlDbType.VarChar, 40));
currentCmd.Parameters["@price"].Value = tmpArrayList[9];
currentCmd.Parameters.Add(new SqlParameter("@description", SqlDbType.Text));
currentCmd.Parameters["@description"].Value = tmpArrayList[10];
currentCmd.Parameters.Add(new SqlParameter("@specialprice", SqlDbType.Int));
currentCmd.Parameters["@specialprice"].Value = tmpArrayList[11];
currentCmd.Parameters.Add(new SqlParameter("@discount", SqlDbType.Int));
currentCmd.Parameters["@discount"].Value = tmpArrayList[12];
currentCmd.Parameters.Add(new SqlParameter("@nBookID", SqlDbType.Int));
currentCmd.Parameters["@nBookID"].Value = tmpArrayList[13];
if(bIsHasImage)
{
currentCmd.Parameters.Add(new SqlParameter("@cover", SqlDbType.Image));
currentCmd.Parameters["@cover"].Value = tmpArrayList[14];
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?