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

企业管理

开发平台:

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. /// BookReturn 的摘要说明。
  12. /// </summary>
  13. public class BookReturn : System.Windows.Forms.Form
  14. {
  15. private System.Windows.Forms.GroupBox groupBox1;
  16. private System.Windows.Forms.DataGrid dataGrid1;
  17. private System.Windows.Forms.Button btnSearch;
  18. private System.Windows.Forms.TextBox txt1;
  19. private System.Windows.Forms.Label label2;
  20. private System.Windows.Forms.Label label1;
  21. private System.Windows.Forms.TextBox txt2;
  22. private System.Windows.Forms.Label label3;
  23. private System.Windows.Forms.TextBox txt3;
  24. private System.Data.SqlClient.SqlDataAdapter da1;
  25. private System.Data.SqlClient.SqlConnection sqlConnection1;
  26. private 图书馆管理系统.DataSet2 dataSet21;
  27. private System.Windows.Forms.Button btnReturn;
  28. private System.Data.SqlClient.SqlCommand sqlSelectCommand1;
  29. /// <summary>
  30. /// 必需的设计器变量。
  31. /// </summary>
  32. private System.ComponentModel.Container components = null;
  33. public BookReturn()
  34. {
  35. //
  36. // Windows 窗体设计器支持所必需的
  37. //
  38. InitializeComponent();
  39. //
  40. // TODO: 在 InitializeComponent 调用后添加任何构造函数代码
  41. //
  42. }
  43. /// <summary>
  44. /// 清理所有正在使用的资源。
  45. /// </summary>
  46. protected override void Dispose( bool disposing )
  47. {
  48. if( disposing )
  49. {
  50. if(components != null)
  51. {
  52. components.Dispose();
  53. }
  54. }
  55. base.Dispose( disposing );
  56. }
  57. #region Windows 窗体设计器生成的代码
  58. /// <summary>
  59. /// 设计器支持所需的方法 - 不要使用代码编辑器修改
  60. /// 此方法的内容。
  61. /// </summary>
  62. private void InitializeComponent()
  63. {
  64. System.Resources.ResourceManager resources = new System.Resources.ResourceManager(typeof(BookReturn));
  65. this.groupBox1 = new System.Windows.Forms.GroupBox();
  66. this.btnSearch = new System.Windows.Forms.Button();
  67. this.txt1 = new System.Windows.Forms.TextBox();
  68. this.label2 = new System.Windows.Forms.Label();
  69. this.label1 = new System.Windows.Forms.Label();
  70. this.txt2 = new System.Windows.Forms.TextBox();
  71. this.label3 = new System.Windows.Forms.Label();
  72. this.txt3 = new System.Windows.Forms.TextBox();
  73. this.dataGrid1 = new System.Windows.Forms.DataGrid();
  74. this.dataSet21 = new 图书馆管理系统.DataSet2();
  75. this.btnReturn = new System.Windows.Forms.Button();
  76. this.da1 = new System.Data.SqlClient.SqlDataAdapter();
  77. this.sqlSelectCommand1 = new System.Data.SqlClient.SqlCommand();
  78. this.sqlConnection1 = new System.Data.SqlClient.SqlConnection();
  79. this.groupBox1.SuspendLayout();
  80. ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).BeginInit();
  81. ((System.ComponentModel.ISupportInitialize)(this.dataSet21)).BeginInit();
  82. this.SuspendLayout();
  83. // 
  84. // groupBox1
  85. // 
  86. this.groupBox1.Controls.Add(this.btnSearch);
  87. this.groupBox1.Controls.Add(this.txt1);
  88. this.groupBox1.Controls.Add(this.label2);
  89. this.groupBox1.Controls.Add(this.label1);
  90. this.groupBox1.Controls.Add(this.txt2);
  91. this.groupBox1.Controls.Add(this.label3);
  92. this.groupBox1.Controls.Add(this.txt3);
  93. this.groupBox1.Location = new System.Drawing.Point(6, 4);
  94. this.groupBox1.Name = "groupBox1";
  95. this.groupBox1.Size = new System.Drawing.Size(642, 60);
  96. this.groupBox1.TabIndex = 0;
  97. this.groupBox1.TabStop = false;
  98. // 
  99. // btnSearch
  100. // 
  101. this.btnSearch.Image = ((System.Drawing.Image)(resources.GetObject("btnSearch.Image")));
  102. this.btnSearch.ImageAlign = System.Drawing.ContentAlignment.MiddleLeft;
  103. this.btnSearch.Location = new System.Drawing.Point(16, 26);
  104. this.btnSearch.Name = "btnSearch";
  105. this.btnSearch.Size = new System.Drawing.Size(72, 23);
  106. this.btnSearch.TabIndex = 3;
  107. this.btnSearch.Text = " 搜索";
  108. this.btnSearch.Click += new System.EventHandler(this.btnSearch_Click);
  109. // 
  110. // txt1
  111. // 
  112. this.txt1.Location = new System.Drawing.Point(155, 25);
  113. this.txt1.Name = "txt1";
  114. this.txt1.TabIndex = 8;
  115. this.txt1.Text = "";
  116. // 
  117. // label2
  118. // 
  119. this.label2.Location = new System.Drawing.Point(104, 29);
  120. this.label2.Name = "label2";
  121. this.label2.Size = new System.Drawing.Size(56, 16);
  122. this.label2.TabIndex = 6;
  123. this.label2.Text = "读者编号";
  124. // 
  125. // label1
  126. // 
  127. this.label1.Location = new System.Drawing.Point(288, 29);
  128. this.label1.Name = "label1";
  129. this.label1.Size = new System.Drawing.Size(56, 16);
  130. this.label1.TabIndex = 4;
  131. this.label1.Text = "图书编号";
  132. // 
  133. // txt2
  134. // 
  135. this.txt2.Location = new System.Drawing.Point(347, 25);
  136. this.txt2.Name = "txt2";
  137. this.txt2.TabIndex = 9;
  138. this.txt2.Text = "";
  139. // 
  140. // label3
  141. // 
  142. this.label3.Location = new System.Drawing.Point(472, 29);
  143. this.label3.Name = "label3";
  144. this.label3.Size = new System.Drawing.Size(56, 16);
  145. this.label3.TabIndex = 5;
  146. this.label3.Text = "读者姓名";
  147. // 
  148. // txt3
  149. // 
  150. this.txt3.Location = new System.Drawing.Point(528, 25);
  151. this.txt3.Name = "txt3";
  152. this.txt3.TabIndex = 7;
  153. this.txt3.Text = "";
  154. // 
  155. // dataGrid1
  156. // 
  157. this.dataGrid1.CaptionVisible = false;
  158. this.dataGrid1.DataMember = "图书借阅";
  159. this.dataGrid1.DataSource = this.dataSet21;
  160. this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText;
  161. this.dataGrid1.Location = new System.Drawing.Point(8, 64);
  162. this.dataGrid1.Name = "dataGrid1";
  163. this.dataGrid1.ReadOnly = true;
  164. this.dataGrid1.Size = new System.Drawing.Size(640, 360);
  165. this.dataGrid1.TabIndex = 1;
  166. // 
  167. // dataSet21
  168. // 
  169. this.dataSet21.DataSetName = "DataSet2";
  170. this.dataSet21.Locale = new System.Globalization.CultureInfo("zh-CN");
  171. // 
  172. // btnReturn
  173. // 
  174. this.btnReturn.Location = new System.Drawing.Point(144, 448);
  175. this.btnReturn.Name = "btnReturn";
  176. this.btnReturn.Size = new System.Drawing.Size(144, 40);
  177. this.btnReturn.TabIndex = 2;
  178. this.btnReturn.Text = "归还选中图书";
  179. this.btnReturn.Click += new System.EventHandler(this.btnReturn_Click);
  180. // 
  181. // da1
  182. // 
  183. this.da1.SelectCommand = this.sqlSelectCommand1;
  184. this.da1.TableMappings.AddRange(new System.Data.Common.DataTableMapping[] {
  185.   new System.Data.Common.DataTableMapping("Table", "图书借阅", new System.Data.Common.DataColumnMapping[] {
  186.   new System.Data.Common.DataColumnMapping("借阅编号", "借阅编号"),
  187.   new System.Data.Common.DataColumnMapping("姓名", "姓名"),
  188.   new System.Data.Common.DataColumnMapping("读者编号", "读者编号"),
  189.   new System.Data.Common.DataColumnMapping("图书编号", "图书编号"),
  190.   new System.Data.Common.DataColumnMapping("书名", "书名"),
  191.   new System.Data.Common.DataColumnMapping("借阅时间", "借阅时间"),
  192.   new System.Data.Common.DataColumnMapping("应还时间", "应还时间"),
  193.   new System.Data.Common.DataColumnMapping("续借次数", "续借次数"),
  194.   new System.Data.Common.DataColumnMapping("操作员", "操作员"),
  195.   new System.Data.Common.DataColumnMapping("状态", "状态")})});
  196. // 
  197. // sqlSelectCommand1
  198. // 
  199. this.sqlSelectCommand1.CommandText = @"SELECT a.借阅编号, b.姓名, a.读者编号, a.图书编号, c.书名, a.借阅时间, a.应还时间, a.续借次数, a.操作员, a.状态 FROM 图书借阅 a INNER JOIN 读者信息 b ON a.读者编号 = b.编号 INNER JOIN 图书信息 c ON a.图书编号 = c.编号 WHERE (a.读者编号 LIKE @Param14) AND (a.图书编号 LIKE @Param15) AND (b.姓名 LIKE @Param16) AND (a.状态 = '未还')";
  200. this.sqlSelectCommand1.Connection = this.sqlConnection1;
  201. this.sqlSelectCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Param14", System.Data.SqlDbType.VarChar, 40, "读者编号"));
  202. this.sqlSelectCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Param15", System.Data.SqlDbType.VarChar, 50, "图书编号"));
  203. this.sqlSelectCommand1.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Param16", System.Data.SqlDbType.VarChar, 20, "姓名"));
  204. // 
  205. // sqlConnection1
  206. // 
  207. this.sqlConnection1.ConnectionString = "workstation id=localhost;Integrated Security=SSPI;Database=libbook;";
  208. // 
  209. // BookReturn
  210. // 
  211. this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
  212. this.ClientSize = new System.Drawing.Size(656, 510);
  213. this.Controls.Add(this.btnReturn);
  214. this.Controls.Add(this.dataGrid1);
  215. this.Controls.Add(this.groupBox1);
  216. this.Name = "BookReturn";
  217. this.StartPosition = System.Windows.Forms.FormStartPosition.CenterScreen;
  218. this.Text = "【图书归还】";
  219. this.Load += new System.EventHandler(this.BookReturn_Load);
  220. this.groupBox1.ResumeLayout(false);
  221. ((System.ComponentModel.ISupportInitialize)(this.dataGrid1)).EndInit();
  222. ((System.ComponentModel.ISupportInitialize)(this.dataSet21)).EndInit();
  223. this.ResumeLayout(false);
  224. }
  225. #endregion
  226. //------------初始化窗体时,填充数据-------------
  227. private void BookReturn_Load(object sender, System.EventArgs e)
  228. {
  229. da1.SelectCommand.Parameters[0].Value="%%";
  230. da1.SelectCommand.Parameters[1].Value="%%";
  231. da1.SelectCommand.Parameters[2].Value="%%";
  232. da1.Fill(dataSet21);
  233. }
  234. //-----------搜索借书记录-----------
  235. private void btnSearch_Click(object sender, System.EventArgs e)
  236. {
  237. da1.SelectCommand.Parameters[0].Value="%%";
  238. da1.SelectCommand.Parameters[1].Value="%%";
  239. da1.SelectCommand.Parameters[2].Value="%%";
  240. if(txt1.Text!="")
  241. {
  242. da1.SelectCommand.Parameters[0].Value="%"+txt1.Text+"%";
  243. }
  244. if(txt2.Text!="")
  245. {
  246. da1.SelectCommand.Parameters[1].Value="%"+txt2.Text+"%";
  247. }
  248. if(txt3.Text!="")
  249. {
  250. da1.SelectCommand.Parameters[2].Value="%"+txt3.Text+"%";
  251. }
  252. dataSet21.图书借阅.Clear();
  253. da1.Fill(dataSet21);
  254. }
  255. //--------读者还书----------
  256. private void btnReturn_Click(object sender, System.EventArgs e)
  257. {
  258. int curRow=dataGrid1.CurrentCell.RowNumber;
  259. string borrowID=dataGrid1[curRow,0].ToString().Trim();//借阅编号
  260. DateTime returnTime=Convert.ToDateTime(dataGrid1[curRow,6]);//应还时间
  261. decimal penalty=0;
  262. if(returnTime<System.DateTime.Now)
  263. {
  264. penalty=calPenalty(returnTime);
  265. }
  266. if(penalty!=0)//提示需要支付罚金的读者
  267. {
  268. string msg="该图书应于"+returnTime+"归还,必须支付过期罚金"+penalty.ToString()+"元";
  269. MessageBox.Show(msg,"图书过期",MessageBoxButtons.OK,MessageBoxIcon.Information);
  270. }
  271. string strConn = "workstation id=localhost;Integrated Security=SSPI;database=libbook";
  272. SqlConnection cn=new SqlConnection(strConn);
  273. cn.Open();
  274. SqlCommand cmd=cn.CreateCommand();
  275. cmd.CommandText="exec sf_图书归还 "+borrowID+","+penalty.ToString();
  276. cmd.ExecuteNonQuery();
  277. dataSet21.图书借阅.Clear();
  278. da1.Fill(dataSet21);
  279. }
  280. //-----------计算过期书罚金------------
  281. private decimal calPenalty(DateTime rTime)
  282. {
  283.             //计算过期天数
  284. int overDays=365*(System.DateTime.Now.Year-rTime.Year)+System.DateTime.Now.DayOfYear-rTime.DayOfYear;
  285. //根据过期天数计算罚金,本实例中定为每天0.2元
  286. decimal fee=(decimal) 0.2*overDays;
  287. return(fee);
  288. }
  289. }
  290. }