DBcon.cs 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Data;
  4. using System.Text;
  5. using System.Data.OleDb;
  6. namespace BooksManageSystem
  7. {
  8. internal class DBcon
  9. {
  10. #region 书籍列表
  11. private DataTable _dal_getBookList()
  12. {
  13. using (OleDbCommand comm = new OleDbCommand(@"select * from books"))
  14. {
  15. return DBHelper.ExecuteDataTable(comm);
  16. }
  17. }
  18. private DataTable _dal_getBookListByName(string name)
  19. {
  20. using (OleDbCommand comm = new OleDbCommand(@"select * from books where bookname like '%" + name + "%'"))
  21. {
  22. return DBHelper.ExecuteDataTable(comm);
  23. }
  24. }
  25. private DataTable _dal_getOneBookByID(int id)
  26. {
  27. using (OleDbCommand comm = new OleDbCommand(@"select * from books where ID =" + id ))
  28. {
  29. return DBHelper.ExecuteDataTable(comm);
  30. }
  31. }
  32. private List<Book> _ToModuleBookList(DataTable dt)
  33. {
  34. List<Book> list = new List<Book>();
  35. foreach (DataRow item in dt.Rows)
  36. {
  37. int id = int.Parse(item[0].ToString());//id
  38. string name = item[1].ToString();//name
  39. double price = double.Parse(item[2].ToString());//price
  40. double order_Price = double.Parse(item[3].ToString());//order_Price
  41. int cout = int.Parse(item[4].ToString());//count
  42. bool isStu = bool.Parse(item[5].ToString());
  43. Book b = new Book(id, name, price, order_Price, cout, isStu);
  44. list.Add(b);
  45. }
  46. return list;
  47. }
  48. public List<Book> GetBookList()
  49. {
  50. return _ToModuleBookList(_dal_getBookList());
  51. }
  52. public List<Book> GetBookListByName(string bkname)
  53. {
  54. return _ToModuleBookList(_dal_getBookListByName(bkname));
  55. }
  56. public Book GetOneBookByID(int id)
  57. {
  58. var list = _ToModuleBookList(_dal_getOneBookByID(id));
  59. if (list.Count==1)
  60. {
  61. return list[0];
  62. }
  63. else
  64. {
  65. return null;
  66. }
  67. }
  68. private int _dal_addNewBook(string bkname,double price,double orderprice, int count,bool studentBook )
  69. {
  70. using (OleDbCommand comm = new OleDbCommand(@"insert into books(bookname,price,order_price,books_count,IS_STUDENTBOOK)values('" + bkname + "'," + price + "," + orderprice + "," + count + "," + studentBook +")"))
  71. {
  72. return DBHelper.ExecuteNonQuery(comm);
  73. }
  74. }
  75. private int _dal_ModifyBook(int id, string bookname, double price, double orderprice, int count, bool studentBook)
  76. {
  77. using (OleDbCommand comm = new OleDbCommand(@"update books set bookname='" + bookname + "',price="+ price +",order_price=" + orderprice+ ",books_count=" + count +",IS_STUDENTBOOK=" + studentBook + " where id=" + id))
  78. {
  79. return DBHelper.ExecuteNonQuery(comm);
  80. }
  81. }
  82. public int AddNewBook(string bookname,double price,double orderprice,int count,bool studentBook)
  83. {
  84. return _dal_addNewBook(bookname, price, orderprice, count,studentBook);
  85. }
  86. public int ModifyBook(int id, string bookname, double price, double orderprice, int count, bool studentBook)
  87. {
  88. return _dal_ModifyBook(id, bookname, price, orderprice, count, studentBook);
  89. }
  90. #endregion
  91. #region 变更数量操作
  92. /// <summary>
  93. ///
  94. /// </summary>
  95. /// <param name="id"></param>
  96. /// <param name="count"></param>
  97. /// <param name="opertor"></param>
  98. /// <param name="time"></param>
  99. /// <returns>返回变更后的数量</returns>
  100. public int SellBookByID(int id,int count,string opertor,DateTime time)
  101. {
  102. int c = queryCountByID(id);
  103. if (c < count)
  104. {
  105. throw new Exception("没有足够数量的书可供售出!");
  106. }
  107. using (OleDbCommand comm = new OleDbCommand(@"update books set books_count = " + (c - count).ToString() + " where id = " + id.ToString() ))
  108. {
  109. DBHelper.ExecuteNonQuery(comm);
  110. }
  111. using (OleDbCommand comm = new OleDbCommand(@"insert into operate (op_book_no,op,op_date,op_count,operator,after_op_count) values
  112. (" + id + "," + ((int)EnumOP.售).ToString() + ",'" + time.ToString() + "'," + count.ToString() + ",'" + opertor + "'," + (c - count) + ")"))
  113. {
  114. //INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
  115. DBHelper.ExecuteNonQuery(comm);
  116. return c - count;
  117. }
  118. }
  119. /// <summary>
  120. ///
  121. /// </summary>
  122. /// <param name="id"></param>
  123. /// <param name="count"></param>
  124. /// <param name="opertor"></param>
  125. /// <param name="time"></param>
  126. /// <returns>返回变更后的数量</returns>
  127. public int Lingqu(int id, int count, string opertor, DateTime time)
  128. {
  129. int c = queryCountByID(id);
  130. if (c < count)
  131. {
  132. throw new Exception("没有足够数量的书可供领取!");
  133. }
  134. using (OleDbCommand comm = new OleDbCommand(@"update books set books_count = " + (c - count).ToString() + " where id = " + id.ToString()))
  135. {
  136. DBHelper.ExecuteNonQuery(comm);
  137. }
  138. using (OleDbCommand comm = new OleDbCommand(@"insert into operate (op_book_no,op,op_date,op_count,operator,after_op_count) values
  139. (" + id + "," + ((int)EnumOP.领).ToString() + ",'" + time.ToString() + "'," + count.ToString() + ",'" + opertor + "'," + (c - count) + ")"))
  140. {
  141. //INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
  142. DBHelper.ExecuteNonQuery(comm);
  143. return c - count;
  144. }
  145. }
  146. /// <summary>
  147. ///
  148. /// </summary>
  149. /// <param name="id"></param>
  150. /// <param name="count"></param>
  151. /// <param name="oper"></param>
  152. /// <param name="time"></param>
  153. /// <returns>返回变更后的数量</returns>
  154. public int PurchaseBook(int id, int count, string oper, DateTime time, int bid)
  155. {
  156. int c = queryCountByID(id);
  157. using (OleDbCommand comm = new OleDbCommand(@"update books set books_count = " + (c + count).ToString() + " where id = " + id.ToString()))
  158. {
  159. DBHelper.ExecuteNonQuery(comm);
  160. }
  161. if (bid==0)
  162. {
  163. using (OleDbCommand comm = new OleDbCommand(@"insert into operate (op_book_no,op,op_date,op_count,operator,after_op_count) values
  164. (" + id + "," + ((int)EnumOP.购).ToString() + ",'" + time.ToString() + "'," + count.ToString() + ",'" + oper + "'," + (c + count) + ")"))
  165. {
  166. //INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
  167. DBHelper.ExecuteNonQuery(comm);
  168. return c + count;
  169. }
  170. }
  171. else
  172. {
  173. using (OleDbCommand comm = new OleDbCommand(@"insert into operate (op_book_no,op,op_date,op_count,operator,after_op_count,bid) values
  174. (" + id + "," + ((int)EnumOP.购).ToString() + ",'" + time.ToString() + "'," + count.ToString() + ",'" + oper + "'," + (c + count) + "," + bid + ")"))
  175. {
  176. //INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
  177. DBHelper.ExecuteNonQuery(comm);
  178. return c + count;
  179. }
  180. }
  181. }
  182. /// <summary>
  183. /// 返回BID
  184. /// </summary>
  185. /// <param name="totalcount"></param>
  186. /// <param name="time"></param>
  187. /// <returns></returns>
  188. public int Blist(int totalcount, DateTime time)
  189. {
  190. using (OleDbCommand comm = new OleDbCommand(@"insert into blist (bcount,bdate) values(" + totalcount + ",'" + time.ToString() + "')"))
  191. {
  192. DBHelper.ExecuteNonQuery(comm);
  193. }
  194. using (OleDbCommand comm = new OleDbCommand(@"SELECT MAX(BID) AS id FROM BLIST"))
  195. {
  196. var o = DBHelper.ExecuteScalar(comm);
  197. return Convert.ToInt32(o);
  198. }
  199. }
  200. /// <summary>
  201. ///
  202. /// </summary>
  203. /// <param name="id"></param>
  204. /// <param name="count"></param>
  205. /// <param name="oper"></param>
  206. /// <param name="time"></param>
  207. /// <returns>返回变更后的数量</returns>
  208. public int ReturnBookByID(int id, int count, string oper, DateTime time)
  209. {
  210. int c = queryCountByID(id);
  211. using (OleDbCommand comm = new OleDbCommand(@"update books set books_count = " + (c + count).ToString() + " where id = " + id.ToString()))
  212. {
  213. DBHelper.ExecuteNonQuery(comm);
  214. }
  215. using (OleDbCommand comm = new OleDbCommand(@"insert into operate (op_book_no,op,op_date,op_count,operator,after_op_count) values
  216. (" + id + "," + ((int)EnumOP.还).ToString() + ",'" + time.ToString() + "'," + count.ToString() + ",'" + oper + "'," + (c + count) + ")"))
  217. {
  218. //INSERT INTO table_name (列1, 列2,...) VALUES (值1, 值2,....)
  219. DBHelper.ExecuteNonQuery(comm);
  220. return c + count;
  221. }
  222. }
  223. #endregion
  224. #region 分操作
  225. //查询书的数量OK
  226. private int queryCountByID(int id )
  227. {
  228. using (OleDbCommand comm = new OleDbCommand(@"select books_count from books where id = " + id))
  229. {
  230. return Convert.ToInt32(DBHelper.ExecuteScalar(comm));
  231. }
  232. }
  233. //Untest
  234. private int queryIDByName(string bookname)
  235. {
  236. using (OleDbCommand comm = new OleDbCommand(@"select id from books where bookname = '" + bookname + "'"))
  237. {
  238. return Convert.ToInt32(DBHelper.ExecuteScalar(comm));
  239. }
  240. }
  241. #endregion
  242. #region 操作记录
  243. private DataTable _dal_getOPLOGByBookID(int id)
  244. {
  245. using (OleDbCommand comm = new OleDbCommand(@"SELECT top 1000 BOOKS.ID,BOOKS.BOOKNAME, OPERATE.OP, OPERATE.OP_DATE, OPERATE.OP_COUNT,after_op_count, OPERATE.OPERATOR,OPERATE.ID
  246. FROM (BOOKS INNER JOIN OPERATE ON BOOKS.ID = OPERATE.OP_BOOK_NO)
  247. WHERE (OPERATE.OP_BOOK_NO = " + id + @")
  248. ORDER BY OPERATE.OP_DATE DESC"))
  249. {
  250. return DBHelper.ExecuteDataTable(comm);
  251. }
  252. }
  253. private DataTable _dal_getOPLOGByBID(int Bid)
  254. {
  255. using (OleDbCommand comm = new OleDbCommand(@"SELECT top 1000 BOOKS.ID,BOOKS.BOOKNAME, OPERATE.OP, OPERATE.OP_DATE, OPERATE.OP_COUNT,after_op_count, OPERATE.OPERATOR,OPERATE.ID
  256. FROM (BOOKS INNER JOIN OPERATE ON BOOKS.ID = OPERATE.OP_BOOK_NO)
  257. WHERE (OPERATE.BID = " + Bid + @")
  258. ORDER BY OPERATE.OP_DATE DESC"))
  259. {
  260. return DBHelper.ExecuteDataTable(comm);
  261. }
  262. }
  263. private DataTable _dal_getOPLOGALL()
  264. {
  265. using (OleDbCommand comm = new OleDbCommand(@"SELECT TOP 1000 BOOKS.ID,BOOKS.BOOKNAME, OPERATE.OP, OPERATE.OP_DATE, OPERATE.OP_COUNT,after_op_count, OPERATE.OPERATOR,OPERATE.ID
  266. FROM (BOOKS INNER JOIN OPERATE ON BOOKS.ID = OPERATE.OP_BOOK_NO)
  267. ORDER BY OPERATE.OP_DATE DESC"))
  268. {
  269. return DBHelper.ExecuteDataTable(comm);
  270. }
  271. }
  272. private int _dal_ModifyOPLogByOPID(int opid, DateTime dt, string oper)
  273. {
  274. using (OleDbCommand comm = new OleDbCommand(@"update operate set OP_DATE=Cdate('"+dt.ToString("yyyy-MM-dd HH:mm:ss")+"'),operator = '"+oper+"' where id = " + opid))
  275. {
  276. return DBHelper.ExecuteNonQuery(comm);
  277. }
  278. }
  279. private List<OPLOG> _ToModuleSellList(DataTable dt)
  280. {
  281. List<OPLOG> list = new List<OPLOG>();
  282. foreach (DataRow item in dt.Rows)
  283. {
  284. int bkid = int.Parse(item[0].ToString());
  285. string bkname = item[1].ToString();
  286. EnumOP op = (EnumOP)Enum.Parse(typeof(EnumOP), item[2].ToString());
  287. DateTime opdate = DateTime.Parse(item[3].ToString());
  288. int cout = int.Parse(item[4].ToString());
  289. int afcount = int.Parse(item[5].ToString());
  290. string oper = item[6].ToString();
  291. int opid = int.Parse(item[7].ToString());
  292. OPLOG oplog = new OPLOG()
  293. {
  294. BookID = bkid,
  295. BookName = bkname,
  296. op = op,
  297. OPdatetime = opdate,
  298. OPCount = cout,
  299. AfterOPCount = afcount,
  300. oper = oper,
  301. OPID = opid
  302. };
  303. list.Add(oplog);
  304. }
  305. return list;
  306. }
  307. public List<OPLOG> GetOPLogByID(int id)
  308. {
  309. return _ToModuleSellList(_dal_getOPLOGByBookID(id));
  310. }
  311. public List<OPLOG> GetOPLogByBID(int bid)
  312. {
  313. return _ToModuleSellList(_dal_getOPLOGByBID(bid));
  314. }
  315. public List<OPLOG> GetOPLogALL()
  316. {
  317. return _ToModuleSellList(_dal_getOPLOGALL());
  318. }
  319. /// <summary>
  320. /// 修改操作记录
  321. /// </summary>
  322. /// <param name="opid"></param>
  323. /// <param name="dt"></param>
  324. /// <param name="oper"></param>
  325. /// <returns></returns>
  326. public int ModifyOPLog(int opid,DateTime dt,string oper)
  327. {
  328. return _dal_ModifyOPLogByOPID(opid, dt, oper);
  329. }
  330. /// <summary>
  331. /// 撤销操作记录
  332. /// </summary>
  333. /// <param name="opid"></param>
  334. /// <returns></returns>
  335. public int UndoOPByOPID(int opid)
  336. {
  337. using (OleDbCommand comm = new OleDbCommand(@"SELECT BOOKS.ID, BOOKS.BOOKNAME, OPERATE.OP, OPERATE.OP_DATE, OPERATE.OP_COUNT, OPERATE.AFTER_OP_COUNT, OPERATE.OPERATOR, OPERATE.ID AS OPID
  338. FROM (BOOKS INNER JOIN OPERATE ON BOOKS.ID = OPERATE.OP_BOOK_NO)
  339. WHERE (OPERATE.ID = " + opid + ")"))
  340. {
  341. var dt = DBHelper.ExecuteDataTable(comm);
  342. var oplogList = _ToModuleSellList(dt);
  343. if (oplogList.Count == 0)
  344. {
  345. return 0;
  346. }
  347. var oplog = oplogList[0];
  348. if (oplog.op == EnumOP.购 || oplog.op == EnumOP.还)
  349. {
  350. int c = queryCountByID(oplog.BookID);
  351. using (OleDbCommand comm2 = new OleDbCommand(@"update books set books_count = " + (c - oplog.OPCount).ToString() + " where id = " + oplog.BookID))
  352. {
  353. DBHelper.ExecuteNonQuery("delete from operate where ID = " + opid);
  354. return DBHelper.ExecuteNonQuery(comm2);
  355. }
  356. }
  357. if (oplog.op == EnumOP.领 || oplog.op == EnumOP.售)
  358. {
  359. int c = queryCountByID(oplog.BookID);
  360. using (OleDbCommand comm2 = new OleDbCommand(@"update books set books_count = " + (c + oplog.OPCount).ToString() + " where id = " + oplog.BookID))
  361. {
  362. DBHelper.ExecuteNonQuery("delete from operate where ID = " + opid);
  363. return DBHelper.ExecuteNonQuery(comm2);
  364. }
  365. }
  366. return 0;
  367. }
  368. }
  369. #endregion
  370. #region 销售统计
  371. private int _dal_getTotalSell()
  372. {
  373. using (OleDbCommand comm= new OleDbCommand(@"SELECT SUM(BOOKS.PRICE * OPERATE.OP_COUNT) AS Total
  374. FROM (BOOKS INNER JOIN OPERATE ON BOOKS.ID = OPERATE.OP_BOOK_NO)
  375. WHERE (OPERATE.OP = 1)"))
  376. {
  377. return Convert.ToInt32(DBHelper.ExecuteScalar(comm));
  378. }
  379. }
  380. private int GetTotalSell()
  381. {
  382. return _dal_getTotalSell();
  383. }
  384. private DataTable _dal_getSellList(DateTime dt_start, DateTime dt_end)
  385. {
  386. int year = DateTime.Now.Year;
  387. using (OleDbCommand comm = new OleDbCommand(@"SELECT BOOKS.ID AS 编号, BOOKS.BOOKNAME AS 书名, BOOKS.PRICE AS 定价, OPERATE.OP_COUNT AS 数量,
  388. OPERATE.OP_DATE AS 销售时间, OPERATE.OPERATOR AS 备注信息,
  389. BOOKS.PRICE * OPERATE.OP_COUNT AS 小计
  390. FROM (BOOKS INNER JOIN
  391. OPERATE ON BOOKS.ID = OPERATE.OP_BOOK_NO)
  392. WHERE (OPERATE.OP = 1) AND (OPERATE.OP_DATE > CDATE('" + dt_start.ToString("yyyy-MM-dd HH:mm:ss") + "')) and (OPERATE.OP_DATE < CDATE('" + dt_end.ToString("yyyy-MM-dd HH:mm:ss") + "'))"))
  393. {
  394. return DBHelper.ExecuteDataTable(comm);
  395. }
  396. }
  397. public DataTable GetSellList(DateTime start,DateTime end)
  398. {
  399. return _dal_getSellList(start,end);
  400. }
  401. /// <summary>
  402. /// 领取导出
  403. /// </summary>
  404. /// <param name="dt_start"></param>
  405. /// <param name="dt_end"></param>
  406. /// <returns></returns>
  407. public DataTable GetHandOutList(DateTime dt_start, DateTime dt_end)
  408. {
  409. int year = DateTime.Now.Year;
  410. using (OleDbCommand comm = new OleDbCommand(@"SELECT BOOKS.ID AS 编号, BOOKS.BOOKNAME AS 书名, BOOKS.PRICE AS 定价, OPERATE.OP_COUNT AS 数量,
  411. OPERATE.OP_DATE AS 领取时间, OPERATE.OPERATOR AS 备注信息,
  412. BOOKS.PRICE * OPERATE.OP_COUNT AS 小计
  413. FROM (BOOKS INNER JOIN
  414. OPERATE ON BOOKS.ID = OPERATE.OP_BOOK_NO)
  415. WHERE (OPERATE.OP = 2) AND (OPERATE.OP_DATE > CDATE('" + dt_start.ToString("yyyy-MM-dd HH:mm:ss") + "')) and (OPERATE.OP_DATE < CDATE('" + dt_end.ToString("yyyy-MM-dd HH:mm:ss") + "'))"))
  416. {
  417. return DBHelper.ExecuteDataTable(comm);
  418. }
  419. }
  420. #endregion
  421. #region ClearAll
  422. public bool ClearDataBase()
  423. {
  424. try
  425. {
  426. DBHelper.ExecuteNonQuery(@"delete * from operate");
  427. DBHelper.ExecuteNonQuery(@"delete * from books");
  428. DBHelper.ExecuteNonQuery(@"delete * from blist");
  429. DBHelper.ExecuteNonQuery(@"alter table operate alter column ID counter(1,1)");
  430. DBHelper.ExecuteNonQuery(@"alter table books alter column ID counter(1,1)");
  431. DBHelper.ExecuteNonQuery(@"alter table blist alter column BID counter(1,1)");
  432. return true;
  433. }
  434. catch (Exception)
  435. {
  436. return false;
  437. }
  438. }
  439. #endregion
  440. #region 批量购入记录
  441. private DataTable _dal_getBlist()
  442. {
  443. string command = "select * from blist";
  444. using (OleDbCommand comm = new OleDbCommand(command))
  445. {
  446. return DBHelper.ExecuteDataTable(comm);
  447. }
  448. }
  449. private List<BuyList> _ToModuleBuyList(DataTable dt)
  450. {
  451. List<BuyList> blist = new List<BuyList>();
  452. foreach (DataRow item in dt.Rows)
  453. {
  454. BuyList bl = new BuyList();
  455. bl.BID = int.Parse(item[0].ToString());
  456. bl.Count = int.Parse(item[1].ToString());
  457. bl.BuyDate = DateTime.Parse(item[2].ToString());
  458. blist.Add(bl);
  459. }
  460. return blist;
  461. }
  462. public List<BuyList> GetAllBuyList()
  463. {
  464. return _ToModuleBuyList(_dal_getBlist());
  465. }
  466. #endregion
  467. #region 书列表操作 针对表Booklist
  468. /// <summary>
  469. /// 获取书的列表的列表
  470. /// </summary>
  471. /// <returns></returns>
  472. public Dictionary<int, string> BookListALL()
  473. {
  474. return _ToModuleBookListList(_dal_getBookListList());
  475. }
  476. private DataTable _dal_getBookListList()
  477. {
  478. using (OleDbCommand comm = new OleDbCommand("select * from booklist"))
  479. {
  480. return DBHelper.ExecuteDataTable(comm);
  481. }
  482. }
  483. private Dictionary<int, string> _ToModuleBookListList(DataTable dt)
  484. {
  485. Dictionary<int, string> dic = new Dictionary<int, string>();
  486. foreach (DataRow item in dt.Rows)
  487. {
  488. int i = int.Parse(item[0].ToString());
  489. string s = item[2].ToString();
  490. dic.Add(i, s);
  491. }
  492. return dic;
  493. }
  494. public List<Book> GetBookListFromBookListID(int id)
  495. {
  496. List<Book> list = new List<Book>();
  497. string s = DBHelper.ExecuteScalar(new OleDbCommand("select booksid from booklist where lid = " + id)).ToString();
  498. var ids = s.Split(',');
  499. for (int i = 0; i < ids.Length; i++)
  500. {
  501. var bk = this.GetOneBookByID(int.Parse(ids[i]));
  502. list.Add(bk);
  503. }
  504. return list;
  505. }
  506. public int SaveBookList(List<Book> bklst,string tag)
  507. {
  508. //insert into books(bookname,price,order_price,books_count,IS_STUDENTBOOK)values('" + bkname + "'," + price + "," + orderprice + "," + count + "," + studentBook +")"))
  509. StringBuilder bkids = new StringBuilder();
  510. for (int i = 0; i < bklst.Count; i++)
  511. {
  512. if (bkids.Length==0)
  513. {
  514. bkids.Append(bklst[i].BookID);
  515. }
  516. else
  517. {
  518. bkids.Append("," + bklst[i].BookID);
  519. }
  520. }
  521. using (OleDbCommand comm = new OleDbCommand("insert into booklist(booksid,tag)values('"+ bkids.ToString() +"','" + tag + "' )"))
  522. {
  523. return DBHelper.ExecuteNonQuery(comm);
  524. }
  525. }
  526. public int RemoveBookListByBookListID(int id)
  527. {
  528. return DBHelper.ExecuteNonQuery(new OleDbCommand("delete from booklist where lid = " + id));
  529. }
  530. #endregion
  531. }
  532. }