BookBorrow.cs
上传用户:hjieqiu
上传日期:2013-05-11
资源大小:16494k
文件大小:19k
源码类别:

企业管理

开发平台:

C#

  1. using System;
  2. using System.Drawing;
  3. using System.Collections;
  4. using System.ComponentModel;
  5. using System.Windows.Forms;
  6. using System.Data;
  7. using System.Data.SqlClient;
  8. namespace 图书馆管理系统
  9. {
  10. /// <summary>
  11. /// BookBorrow 的摘要说明。
  12. /// </summary>
  13. public class BookBorrow : System.Windows.Forms.Form
  14. {
  15. private int totalCount,thisCount;//储存已借书和本次借书数据
  16. private DataTable tblBooks;
  17. private string readerID;//保存查询到的读者编号
  18. private System.Windows.Forms.ImageList imageList1;
  19. private System.Windows.Forms.ToolBar toolBar1;
  20. private System.Windows.Forms.ToolBarButton tBtnSubmit;
  21. private System.Windows.Forms.ToolBarButton tBtnCancel;
  22. private System.Windows.Forms.ToolBarButton tBtnQuit;
  23. private System.Windows.Forms.GroupBox groupBox1;
  24. private System.Windows.Forms.GroupBox groupBox2;
  25. private System.Windows.Forms.DataGrid dataGrid1;
  26. private System.Windows.Forms.RadioButton rbt1;
  27. private System.Windows.Forms.RadioButton rbt2;
  28. private System.Windows.Forms.RadioButton rbt4;
  29. private System.Windows.Forms.RadioButton rbt3;
  30. private System.Windows.Forms.TextBox txt1;
  31. private System.Windows.Forms.TextBox txt2;
  32. private System.Windows.Forms.TextBox txt3;
  33. private System.Windows.Forms.TextBox txt4;
  34. private System.Windows.Forms.Label label3;
  35. private System.Windows.Forms.Label label4;
  36. private System.Windows.Forms.Label label5;
  37. private System.Windows.Forms.Label label6;
  38. private System.Windows.Forms.TextBox txt5;
  39. private System.Windows.Forms.Label label7;
  40. private System.Windows.Forms.Label label1;
  41. private System.Windows.Forms.Label label2;
  42. private System.ComponentModel.IContainer components;
  43. public BookBorrow()
  44. {
  45. //
  46. // Windows 窗体设计器支持所必需的
  47. //
  48. InitializeComponent();
  49. //
  50. // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
  51. //
  52. }
  53. /// <summary>
  54. /// 清理所有正在使用的资源。
  55. /// </summary>
  56. protected override void Dispose( bool disposing )
  57. {
  58. if( disposing )
  59. {
  60. if(components != null)
  61. {
  62. components.Dispose();
  63. }
  64. }
  65. base.Dispose( disposing );
  66. }
  67. #region Windows 窗体设计器生成的代码
  68. /// <summary>
  69. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  70. /// 此方法的内容。
  71. /// </summary>
  72. private void InitializeComponent()
  73. {
  74. this.components = new System.ComponentModel.Container();
  75. System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(BookBorrow));
  76. this.imageList1 = new System.Windows.Forms.ImageList(this.components);
  77. this.toolBar1 = new System.Windows.Forms.ToolBar();
  78. this.tBtnSubmit = new System.Windows.Forms.ToolBarButton();
  79. this.tBtnCancel = new System.Windows.Forms.ToolBarButton();
  80. this.tBtnQuit = new System.Windows.Forms.ToolBarButton();
  81. this.groupBox1 = new System.Windows.Forms.GroupBox();
  82. this.label3 = new System.Windows.Forms.Label();
  83. this.txt1 = new System.Windows.Forms.TextBox();
  84. this.rbt1 = new System.Windows.Forms.RadioButton();
  85. this.rbt2 = new System.Windows.Forms.RadioButton();
  86. this.txt2 = new System.Windows.Forms.TextBox();
  87. this.txt3 = new System.Windows.Forms.TextBox();
  88. this.txt4 = new System.Windows.Forms.TextBox();
  89. this.label4 = new System.Windows.Forms.Label();
  90. this.label5 = new System.Windows.Forms.Label();
  91. this.label6 = new System.Windows.Forms.Label();
  92. this.groupBox2 = new System.Windows.Forms.GroupBox();
  93. this.rbt4 = new System.Windows.Forms.RadioButton();
  94. this.rbt3 = new System.Windows.Forms.RadioButton();
  95. this.txt5 = new System.Windows.Forms.TextBox();
  96. this.label7 = new System.Windows.Forms.Label();
  97. this.dataGrid1 = new System.Windows.Forms.DataGrid();
  98. this.label1 = new System.Windows.Forms.Label();
  99. this.label2 = new System.Windows.Forms.Label();
  100. this.groupBox1.SuspendLayout();
  101. this.groupBox2.SuspendLayout();
  102. ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit();
  103. this.SuspendLayout();
  104. // 
  105. // imageList1
  106. // 
  107. this.imageList1.ImageSize = new System.Drawing.Size(16, 16);
  108. this.imageList1.ImageStream = ((System.Windows.Forms.ImageListStreamer)(resources.GetObject("imageList1.ImageStream")));
  109. this.imageList1.TransparentColor = System.Drawing.SystemColors.ControlLightLight;
  110. // 
  111. // toolBar1
  112. // 
  113. this.toolBar1.Buttons.AddRange(new System.Windows.Forms.ToolBarButton[] {
  114. this.tBtnSubmit,
  115. this.tBtnCancel,
  116. this.tBtnQuit});
  117. this.toolBar1.DropDownArrows = true;
  118. this.toolBar1.ImageList = this.imageList1;
  119. this.toolBar1.Location = new System.Drawing.Point(0, 0);
  120. this.toolBar1.Name = "toolBar1";
  121. this.toolBar1.ShowToolTips = true;
  122. this.toolBar1.Size = new System.Drawing.Size(672, 41);
  123. this.toolBar1.TabIndex = 34;
  124. this.toolBar1.ButtonClick += new System.Windows.Forms.ToolBarButtonClickEventHandler(this.toolBar1_ButtonClick);
  125. // 
  126. // tBtnSubmit
  127. // 
  128. this.tBtnSubmit.ImageIndex = 7;
  129. this.tBtnSubmit.Text = "确定借书";
  130. this.tBtnSubmit.ToolTipText = "确定借书";
  131. // 
  132. // tBtnCancel
  133. // 
  134. this.tBtnCancel.ImageIndex = 8;
  135. this.tBtnCancel.Text = "取消借书";
  136. this.tBtnCancel.ToolTipText = "取消借书";
  137. // 
  138. // tBtnQuit
  139. // 
  140. this.tBtnQuit.ImageIndex = 9;
  141. this.tBtnQuit.Text = "退出";
  142. this.tBtnQuit.ToolTipText = "退出";
  143. // 
  144. // groupBox1
  145. // 
  146. this.groupBox1.Controls.Add(this.label3);
  147. this.groupBox1.Controls.Add(this.txt1);
  148. this.groupBox1.Controls.Add(this.rbt1);
  149. this.groupBox1.Controls.Add(this.rbt2);
  150. this.groupBox1.Controls.Add(this.txt2);
  151. this.groupBox1.Controls.Add(this.txt3);
  152. this.groupBox1.Controls.Add(this.txt4);
  153. this.groupBox1.Controls.Add(this.label4);
  154. this.groupBox1.Controls.Add(this.label5);
  155. this.groupBox1.Controls.Add(this.label6);
  156. this.groupBox1.Location = new System.Drawing.Point(0, 40);
  157. this.groupBox1.Name = "groupBox1";
  158. this.groupBox1.Size = new System.Drawing.Size(672, 72);
  159. this.groupBox1.TabIndex = 35;
  160. this.groupBox1.TabStop = false;
  161. this.groupBox1.Text = "读者信息";
  162. // 
  163. // label3
  164. // 
  165. this.label3.Location = new System.Drawing.Point(112, 24);
  166. this.label3.Name = "label3";
  167. this.label3.Size = new System.Drawing.Size(100, 16);
  168. this.label3.TabIndex = 2;
  169. this.label3.Text = "输入后请回车";
  170. // 
  171. // txt1
  172. // 
  173. this.txt1.Location = new System.Drawing.Point(112, 40);
  174. this.txt1.Name = "txt1";
  175. this.txt1.Size = new System.Drawing.Size(136, 21);
  176. this.txt1.TabIndex = 1;
  177. this.txt1.Text = "";
  178. this.txt1.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txt1_KeyPress);
  179. // 
  180. // rbt1
  181. // 
  182. this.rbt1.Checked = true;
  183. this.rbt1.Location = new System.Drawing.Point(24, 16);
  184. this.rbt1.Name = "rbt1";
  185. this.rbt1.Size = new System.Drawing.Size(64, 24);
  186. this.rbt1.TabIndex = 0;
  187. this.rbt1.TabStop = true;
  188. this.rbt1.Text = "编号";
  189. // 
  190. // rbt2
  191. // 
  192. this.rbt2.Location = new System.Drawing.Point(24, 44);
  193. this.rbt2.Name = "rbt2";
  194. this.rbt2.Size = new System.Drawing.Size(64, 24);
  195. this.rbt2.TabIndex = 0;
  196. this.rbt2.Text = "条形码";
  197. // 
  198. // txt2
  199. // 
  200. this.txt2.Location = new System.Drawing.Point(280, 40);
  201. this.txt2.Name = "txt2";
  202. this.txt2.ReadOnly = true;
  203. this.txt2.TabIndex = 1;
  204. this.txt2.Text = "";
  205. // 
  206. // txt3
  207. // 
  208. this.txt3.Location = new System.Drawing.Point(408, 40);
  209. this.txt3.Name = "txt3";
  210. this.txt3.ReadOnly = true;
  211. this.txt3.TabIndex = 1;
  212. this.txt3.Text = "";
  213. // 
  214. // txt4
  215. // 
  216. this.txt4.Location = new System.Drawing.Point(536, 40);
  217. this.txt4.Name = "txt4";
  218. this.txt4.ReadOnly = true;
  219. this.txt4.TabIndex = 1;
  220. this.txt4.Text = "";
  221. // 
  222. // label4
  223. // 
  224. this.label4.Location = new System.Drawing.Point(280, 24);
  225. this.label4.Name = "label4";
  226. this.label4.Size = new System.Drawing.Size(100, 16);
  227. this.label4.TabIndex = 2;
  228. this.label4.Text = "姓名";
  229. // 
  230. // label5
  231. // 
  232. this.label5.Location = new System.Drawing.Point(408, 24);
  233. this.label5.Name = "label5";
  234. this.label5.Size = new System.Drawing.Size(100, 16);
  235. this.label5.TabIndex = 2;
  236. this.label5.Text = "类型";
  237. // 
  238. // label6
  239. // 
  240. this.label6.Location = new System.Drawing.Point(536, 24);
  241. this.label6.Name = "label6";
  242. this.label6.Size = new System.Drawing.Size(100, 16);
  243. this.label6.TabIndex = 2;
  244. this.label6.Text = "可借册";
  245. // 
  246. // groupBox2
  247. // 
  248. this.groupBox2.Controls.Add(this.rbt4);
  249. this.groupBox2.Controls.Add(this.rbt3);
  250. this.groupBox2.Controls.Add(this.txt5);
  251. this.groupBox2.Controls.Add(this.label7);
  252. this.groupBox2.Enabled = false;
  253. this.groupBox2.Location = new System.Drawing.Point(0, 112);
  254. this.groupBox2.Name = "groupBox2";
  255. this.groupBox2.Size = new System.Drawing.Size(672, 72);
  256. this.groupBox2.TabIndex = 35;
  257. this.groupBox2.TabStop = false;
  258. this.groupBox2.Text = "借阅图书信息";
  259. // 
  260. // rbt4
  261. // 
  262. this.rbt4.Location = new System.Drawing.Point(96, 32);
  263. this.rbt4.Name = "rbt4";
  264. this.rbt4.Size = new System.Drawing.Size(72, 24);
  265. this.rbt4.TabIndex = 0;
  266. this.rbt4.Text = "条形码";
  267. // 
  268. // rbt3
  269. // 
  270. this.rbt3.Checked = true;
  271. this.rbt3.Location = new System.Drawing.Point(24, 32);
  272. this.rbt3.Name = "rbt3";
  273. this.rbt3.Size = new System.Drawing.Size(56, 24);
  274. this.rbt3.TabIndex = 0;
  275. this.rbt3.TabStop = true;
  276. this.rbt3.Text = "编号";
  277. // 
  278. // txt5
  279. // 
  280. this.txt5.Location = new System.Drawing.Point(264, 32);
  281. this.txt5.Name = "txt5";
  282. this.txt5.Size = new System.Drawing.Size(136, 21);
  283. this.txt5.TabIndex = 1;
  284. this.txt5.Text = "";
  285. this.txt5.KeyPress += new System.Windows.Forms.KeyPressEventHandler(this.txt5_KeyPress);
  286. // 
  287. // label7
  288. // 
  289. this.label7.Location = new System.Drawing.Point(176, 36);
  290. this.label7.Name = "label7";
  291. this.label7.Size = new System.Drawing.Size(80, 16);
  292. this.label7.TabIndex = 2;
  293. this.label7.Text = "输入后请回车";
  294. // 
  295. // dataGrid1
  296. // 
  297. this.dataGrid1.CaptionVisible = false;
  298. this.dataGrid1.DataMember = "";
  299. this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
  300. this.dataGrid1.Location = new System.Drawing.Point(0, 184);
  301. this.dataGrid1.Name = "dataGrid1";
  302. this.dataGrid1.ReadOnly = true;
  303. this.dataGrid1.Size = new System.Drawing.Size(672, 296);
  304. this.dataGrid1.TabIndex = 36;
  305. // 
  306. // label1
  307. // 
  308. this.label1.Location = new System.Drawing.Point(152, 488);
  309. this.label1.Name = "label1";
  310. this.label1.Size = new System.Drawing.Size(100, 16);
  311. this.label1.TabIndex = 37;
  312. this.label1.Text = "已借书";
  313. // 
  314. // label2
  315. // 
  316. this.label2.Location = new System.Drawing.Point(328, 488);
  317. this.label2.Name = "label2";
  318. this.label2.Size = new System.Drawing.Size(100, 16);
  319. this.label2.TabIndex = 37;
  320. this.label2.Text = "本次借书";
  321. // 
  322. // BookBorrow
  323. // 
  324. this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
  325. this.ClientSize = new System.Drawing.Size(672, 509);
  326. this.Controls.Add(this.label1);
  327. this.Controls.Add(this.dataGrid1);
  328. this.Controls.Add(this.groupBox1);
  329. this.Controls.Add(this.toolBar1);
  330. this.Controls.Add(this.groupBox2);
  331. this.Controls.Add(this.label2);
  332. this.Name = "BookBorrow";
  333. this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
  334. this.Text = "【图书借阅】";
  335. this.Load += new System.EventHandler(this.BookBorrow_Load);
  336. this.groupBox1.ResumeLayout(false);
  337. this.groupBox2.ResumeLayout(false);
  338. ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();
  339. this.ResumeLayout(false);
  340. }
  341. #endregion
  342. //----------创建窗体时,设置表格,并初始化变量--------------
  343. private void BookBorrow_Load(object sender, System.EventArgs e)
  344. {
  345. this.DataGridStateControl();
  346. totalCount=0;
  347. thisCount=0;
  348. }
  349. //----------设置明细表格各列的属性----------
  350. private void DataGridStateControl()
  351. {
  352. tblBooks=new DataTable();
  353. tblBooks.Columns.Add("状态",typeof(string));
  354. tblBooks.Columns.Add("图书编号",typeof(string));
  355. tblBooks.Columns.Add("书名",typeof(string));
  356. tblBooks.Columns.Add("借阅时间",typeof(string));
  357. tblBooks.Columns.Add("应还时间",typeof(string));
  358. tblBooks.Columns.Add("出版社",typeof(string));
  359. tblBooks.Columns.Add("价格",typeof(decimal));
  360. this.dataGrid1.DataSource = tblBooks;
  361. tblBooks.Rows.Add(tblBooks.NewRow()); //向表中添加一行
  362. DataGridTableStyle ts = new DataGridTableStyle();
  363. DataGridTextBoxColumn aColumnTextColumn;
  364. ts.AllowSorting = false;
  365. ts.AlternatingBackColor = Color.LightGray;
  366. ts.MappingName = tblBooks.TableName;
  367. int numCols = tblBooks.Columns.Count;
  368. for (int i = 0;i< numCols;i++)
  369. {
  370. aColumnTextColumn = new DataGridTextBoxColumn();
  371. if(i==2)
  372. {
  373. aColumnTextColumn.Width=140;//设置图书名称宽度
  374. }
  375. if ( i == 5 )
  376. {
  377. aColumnTextColumn.Width = 100;//设置出版社名称列宽度
  378. }
  379. aColumnTextColumn.MappingName = tblBooks.Columns[i].ColumnName;
  380. aColumnTextColumn.HeaderText = tblBooks.Columns[i].ColumnName;
  381. aColumnTextColumn.NullText = "";
  382. aColumnTextColumn.Format = "N"; //设置为数字格式显示
  383. ts.GridColumnStyles.Add(aColumnTextColumn);
  384. }
  385. dataGrid1.TableStyles.Add(ts);
  386. }
  387. //------------查询并读入读者信息以及读者已经借书的信息------------
  388. private void txt1_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
  389. {
  390. if(e.KeyChar==13&&txt1.Text.Trim()!="")
  391. {
  392. txt2.Clear();
  393. txt3.Clear();
  394. txt4.Clear();
  395. this.showInfo();//显示读者信息
  396. }
  397. }
  398. //------------显示读者信息和所借图书信息----------------
  399. private void showInfo()
  400. {
  401. string strConn = "workstation id=localhost;Integrated Security=SSPI;database=libbook";
  402. SqlConnection cn=new SqlConnection(strConn);
  403. cn.Open();
  404. SqlCommand cmd=cn.CreateCommand();
  405. if(rbt1.Checked)//判断根据编号查询读者信息还是根据条形码
  406. {
  407. cmd.CommandText="select a.姓名,a.类型,b.图书册书,a.编号 from 读者信息 a,读者类型 b"
  408. +" where (a.类型=b.类型)and(a.编号='"+txt1.Text.Trim()+"')";
  409. }
  410. else
  411. {
  412. cmd.CommandText="select a.姓名,a.类型,b.图书册书,a.编号 from 读者信息 a,读者类型 b"
  413. +" where (a.类型=b.类型)and(a.条形码='"+txt1.Text.Trim()+"')";
  414. }
  415. SqlDataReader dr=cmd.ExecuteReader();//执行查询,并读入读者数据
  416. dr.Read();
  417. if(dr.HasRows==false)//如未能查询到读者信息,则提示重新输入
  418. {
  419. MessageBox.Show("无此读者,请检查后重新输入","错误",MessageBoxButtons.OK,MessageBoxIcon.Error);
  420. return;
  421. }
  422. else
  423. {
  424. txt2.Text=dr.GetValue(0).ToString().Trim();//显示读者信息
  425. txt3.Text=dr.GetValue(1).ToString().Trim();
  426. txt4.Text=dr.GetValue(2).ToString().Trim();
  427. readerID=dr.GetValue(3).ToString().Trim();
  428. }
  429. dr.Close();
  430. string strCmd="select a.状态,a.图书编号,b.书名,a.借阅时间,a.应还时间,b.出版社,b.价格"
  431. +" from 图书借阅 a,图书信息 b where (a.图书编号=b.编号)and(a.状态='未还')"
  432. +"and(读者编号='"+readerID+"')";//查询读者所借书籍信息
  433. SqlDataAdapter da=new SqlDataAdapter(strCmd,cn);
  434. tblBooks.Clear();//清空借书记录
  435. da.Fill(tblBooks);//读入读者借阅图书信息
  436. totalCount=tblBooks.Rows.Count;//显示已借书数量和本次借书数量
  437. thisCount=0;
  438. label1.Text="已借书"+totalCount.ToString()+"本";
  439. label2.Text="本次借书0本";
  440. groupBox2.Enabled=true;//允许借书
  441. txt5.Focus();//光标移动到输入图书编号文本框处,开始借书
  442. }
  443. //--------------按回车借书---------------
  444. private void txt5_KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
  445. {
  446. if(e.KeyChar==13&&txt5.Text.Trim()!="")
  447. {
  448. this.borrowBook();//读者借书
  449. }
  450. }
  451. //------------读者借书-------------
  452. private void borrowBook()
  453. {
  454. if(this.totalCount>=Convert.ToInt32(txt4.Text.Trim()))//如果借书达到上限,则不允许再借
  455. {
  456. MessageBox.Show("已经达到最大借书数量,请先归还书籍后再借书","借书数量达到上限",MessageBoxButtons.OK,MessageBoxIcon.Information);
  457. groupBox2.Enabled=false;
  458. return;
  459. }
  460. string strConn = "workstation id=localhost;Integrated Security=SSPI;database=libbook";
  461. SqlConnection cn=new SqlConnection(strConn);
  462. cn.Open();
  463. SqlCommand cmd=cn.CreateCommand();
  464. DataRow aRow=tblBooks.NewRow();
  465. string bookType;//保存新借图书的类型
  466. if(rbt3.Checked)
  467. {
  468. cmd.CommandText="select 编号,书名,出版社,价格,类型 from 图书信息 where 编号='"+txt5.Text.Trim()+"'";
  469. }
  470. else
  471. {
  472. cmd.CommandText="select 编号,书名,出版社,价格,类型 from 图书信息 where 条形码='"+txt5.Text.Trim()+"'";
  473. }
  474. SqlDataReader dr=cmd.ExecuteReader();//执行查询,并读入图书数据
  475. dr.Read();
  476. if(dr.HasRows==false)//如未能查询到图书信息,则提示重新输入
  477. {
  478. MessageBox.Show("无此图书,请检查后重新输入","错误",MessageBoxButtons.OK,MessageBoxIcon.Error);
  479. return;
  480. }
  481. else
  482. {
  483. string newbookID=dr.GetValue(0).ToString();
  484. foreach(DataRow newRow in tblBooks.Rows)//不允许重复借书
  485. {
  486. if(newRow["图书编号"].ToString().Trim()==newbookID.Trim())
  487. {
  488. MessageBox.Show("该读者已经借有此书,不能再借","信息",MessageBoxButtons.OK,MessageBoxIcon.Warning);
  489. return;
  490. }
  491. }
  492. aRow["图书编号"]=dr.GetValue(0).ToString();
  493. aRow["书名"]=dr.GetValue(1).ToString();
  494. aRow["出版社"]=dr.GetValue(2).ToString();
  495. aRow["价格"]=Convert.ToDecimal(dr.GetValue(3));
  496. aRow["状态"]="新借";
  497. aRow["借阅时间"]=System.DateTime.Now.ToString();
  498. bookType=dr.GetValue(4).ToString();
  499. }
  500. dr.Close();
  501. cmd.CommandText="select 可借天数 from 图书类型 where 类型名称='"+bookType+"'";//计算归还时间
  502. int days=Convert.ToInt32(cmd.ExecuteScalar());
  503. DateTime returnTime=System.DateTime.Now.AddDays(days);
  504. aRow["应还时间"]=returnTime.ToString();
  505. tblBooks.Rows.Add(aRow);//增加新借书记录
  506. totalCount++;
  507. thisCount++;
  508. label1.Text="已借书"+totalCount.ToString()+"本";
  509. label2.Text="本次借书"+thisCount.ToString()+"本";
  510. }
  511. //--------处理借书事务----------
  512. private void toolBar1_ButtonClick(object sender, System.Windows.Forms.ToolBarButtonClickEventArgs e)
  513. {
  514. if(e.Button.ToolTipText=="确定借书")
  515. {
  516. string strConn = "workstation id=localhost;Integrated Security=SSPI;database=libbook";
  517. SqlConnection cn=new SqlConnection(strConn);
  518. cn.Open();
  519. SqlCommand cmd=cn.CreateCommand();
  520. foreach(DataRow newRow in tblBooks.Rows)
  521. {
  522. if(newRow["状态"].ToString()=="新借")//插入新增的图书记录
  523. {
  524. cmd.CommandText="insert into 图书借阅([图书编号],[读者编号],[借阅时间],[应还时间],[状态],[续借次数])"
  525. +" values('"+newRow["图书编号"].ToString()+"','"+readerID+"','"+newRow["借阅时间"]
  526. +"','"+newRow["应还时间"]+"','未还','0')";
  527. cmd.ExecuteNonQuery();
  528. newRow["状态"]="未还";//将已经保存的借书状态改为未还
  529. }
  530. }
  531. }
  532. if(e.Button.ToolTipText=="取消借书")
  533. {
  534. tblBooks.Clear();
  535. groupBox2.Enabled=false;
  536. }
  537. if(e.Button.ToolTipText=="退出")
  538. {
  539. foreach(DataRow aRow in this.tblBooks.Rows)
  540. {
  541. if(aRow["状态"].ToString()=="新借")//检索表中是否有新借书数据,提示用户保存
  542. {
  543. DialogResult dlg=MessageBox.Show("该读者有新借图书尚未保存,退出将无法保存新借图书记录","确认退出",MessageBoxButtons.OKCancel,MessageBoxIcon.Warning);
  544. if(dlg==DialogResult.OK)
  545. {
  546. return;
  547. }
  548. }
  549. }
  550. this.Close();
  551. }
  552. }
  553. }
  554. }