reader.cs

来自「Csharp SQL图书馆管理系统 Csharp SQL图书馆管理系统源码」· CS 代码 · 共 582 行 · 第 1/2 页

CS
582
字号
			this.delComm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_ReaderID", System.Data.SqlDbType.VarChar, 6, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "ReaderID", System.Data.DataRowVersion.Original, null));
			this.delComm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_ReaderBorrowedbooks", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "ReaderBorrowedbooks", System.Data.DataRowVersion.Original, null));
			this.delComm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_ReaderEmail", System.Data.SqlDbType.VarChar, 50, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "ReaderEmail", System.Data.DataRowVersion.Original, null));
			this.delComm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_ReaderName", System.Data.SqlDbType.VarChar, 20, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "ReaderName", System.Data.DataRowVersion.Original, null));
			this.delComm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_ReaderPassword", System.Data.SqlDbType.VarChar, 10, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "ReaderPassword", System.Data.DataRowVersion.Original, null));
			this.delComm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_ReaderPhoneNo", System.Data.SqlDbType.VarChar, 15, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "ReaderPhoneNo", System.Data.DataRowVersion.Original, null));
			// 
			// insertComm
			// 
			this.insertComm.CommandText = @"INSERT INTO Reader(ReaderID, ReaderName, ReaderPassword, ReaderPhoneNo, ReaderEmail, ReaderBorrowedbooks) VALUES (@ReaderID, @ReaderName, @ReaderPassword, @ReaderPhoneNo, @ReaderEmail, @ReaderBorrowedbooks); SELECT ReaderID, ReaderName, ReaderPassword, ReaderPhoneNo, ReaderEmail, ReaderBorrowedbooks FROM Reader WHERE (ReaderID = @ReaderID)";
			this.insertComm.Connection = this.conn;
			this.insertComm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ReaderID", System.Data.SqlDbType.VarChar, 6, "ReaderID"));
			this.insertComm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ReaderName", System.Data.SqlDbType.VarChar, 20, "ReaderName"));
			this.insertComm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ReaderPassword", System.Data.SqlDbType.VarChar, 10, "ReaderPassword"));
			this.insertComm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ReaderPhoneNo", System.Data.SqlDbType.VarChar, 15, "ReaderPhoneNo"));
			this.insertComm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ReaderEmail", System.Data.SqlDbType.VarChar, 50, "ReaderEmail"));
			this.insertComm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ReaderBorrowedbooks", System.Data.SqlDbType.Int, 4, "ReaderBorrowedbooks"));
			// 
			// selectComm
			// 
			this.selectComm.CommandText = "SELECT ReaderID, ReaderName, ReaderPassword, ReaderPhoneNo, ReaderEmail, ReaderBo" +
				"rrowedbooks FROM Reader";
			this.selectComm.Connection = this.conn;
			// 
			// updateComm
			// 
			this.updateComm.CommandText = @"UPDATE Reader SET ReaderID = @ReaderID, ReaderName = @ReaderName, ReaderPassword = @ReaderPassword, ReaderPhoneNo = @ReaderPhoneNo, ReaderEmail = @ReaderEmail, ReaderBorrowedbooks = @ReaderBorrowedbooks WHERE (ReaderID = @Original_ReaderID) AND (ReaderBorrowedbooks = @Original_ReaderBorrowedbooks OR @Original_ReaderBorrowedbooks IS NULL AND ReaderBorrowedbooks IS NULL) AND (ReaderEmail = @Original_ReaderEmail OR @Original_ReaderEmail IS NULL AND ReaderEmail IS NULL) AND (ReaderName = @Original_ReaderName OR @Original_ReaderName IS NULL AND ReaderName IS NULL) AND (ReaderPassword = @Original_ReaderPassword OR @Original_ReaderPassword IS NULL AND ReaderPassword IS NULL) AND (ReaderPhoneNo = @Original_ReaderPhoneNo OR @Original_ReaderPhoneNo IS NULL AND ReaderPhoneNo IS NULL); SELECT ReaderID, ReaderName, ReaderPassword, ReaderPhoneNo, ReaderEmail, ReaderBorrowedbooks FROM Reader WHERE (ReaderID = @ReaderID)";
			this.updateComm.Connection = this.conn;
			this.updateComm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ReaderID", System.Data.SqlDbType.VarChar, 6, "ReaderID"));
			this.updateComm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ReaderName", System.Data.SqlDbType.VarChar, 20, "ReaderName"));
			this.updateComm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ReaderPassword", System.Data.SqlDbType.VarChar, 10, "ReaderPassword"));
			this.updateComm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ReaderPhoneNo", System.Data.SqlDbType.VarChar, 15, "ReaderPhoneNo"));
			this.updateComm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ReaderEmail", System.Data.SqlDbType.VarChar, 50, "ReaderEmail"));
			this.updateComm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@ReaderBorrowedbooks", System.Data.SqlDbType.Int, 4, "ReaderBorrowedbooks"));
			this.updateComm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_ReaderID", System.Data.SqlDbType.VarChar, 6, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "ReaderID", System.Data.DataRowVersion.Original, null));
			this.updateComm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_ReaderBorrowedbooks", System.Data.SqlDbType.Int, 4, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "ReaderBorrowedbooks", System.Data.DataRowVersion.Original, null));
			this.updateComm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_ReaderEmail", System.Data.SqlDbType.VarChar, 50, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "ReaderEmail", System.Data.DataRowVersion.Original, null));
			this.updateComm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_ReaderName", System.Data.SqlDbType.VarChar, 20, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "ReaderName", System.Data.DataRowVersion.Original, null));
			this.updateComm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_ReaderPassword", System.Data.SqlDbType.VarChar, 10, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "ReaderPassword", System.Data.DataRowVersion.Original, null));
			this.updateComm.Parameters.Add(new System.Data.SqlClient.SqlParameter("@Original_ReaderPhoneNo", System.Data.SqlDbType.VarChar, 15, System.Data.ParameterDirection.Input, false, ((System.Byte)(0)), ((System.Byte)(0)), "ReaderPhoneNo", System.Data.DataRowVersion.Original, null));
			// 
			// btnExit
			// 
			this.btnExit.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
			this.btnExit.Location = new System.Drawing.Point(288, 216);
			this.btnExit.Name = "btnExit";
			this.btnExit.Size = new System.Drawing.Size(72, 32);
			this.btnExit.TabIndex = 14;
			this.btnExit.Text = "退出";
			this.btnExit.Click += new System.EventHandler(this.btnExit_Click);
			// 
			// groupBox3
			// 
			this.groupBox3.Controls.Add(this.btnCancel);
			this.groupBox3.Controls.Add(this.btnApply);
			this.groupBox3.Location = new System.Drawing.Point(8, 184);
			this.groupBox3.Name = "groupBox3";
			this.groupBox3.Size = new System.Drawing.Size(232, 96);
			this.groupBox3.TabIndex = 19;
			this.groupBox3.TabStop = false;
			this.groupBox3.Text = "编辑记录";
			// 
			// Reader
			// 
			this.AutoScaleBaseSize = new System.Drawing.Size(6, 14);
			this.BackColor = System.Drawing.Color.LightBlue;
			this.ClientSize = new System.Drawing.Size(442, 293);
			this.Controls.Add(this.groupBox1);
			this.Controls.Add(this.btnExit);
			this.Controls.Add(this.groupBox3);
			this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
			this.MaximizeBox = false;
			this.MinimizeBox = false;
			this.Name = "Reader";
			this.Text = "读者信息维护";
			this.Load += new System.EventHandler(this.Reader_Load);
			this.groupBox1.ResumeLayout(false);
			((System.ComponentModel.ISupportInitialize)(this.objDataSetReader)).EndInit();
			this.groupBox3.ResumeLayout(false);
			this.ResumeLayout(false);

		}
		#endregion		
	
		public void ErrorHandle(System.Exception E)
		{
			MessageBox.Show(E.ToString());
		}		

		
		
		

		private void TextEnableControl(bool valid)
		{
			if(valid)
			{
				this.textId.Enabled=false;
				this.textName.Enabled=true;
				this.textBorrowBooks.Enabled=true;
				this.textEmail.Enabled=true;				
				this.textTelNo.Enabled=true;
				this.textPassword.Enabled=true;
				//this.chkValid.Enabled=true;
				
			}
			else
			{
				this.textId.Enabled=false;
				this.textName.Enabled=false;
				this.textBorrowBooks.Enabled=false;
				//this.textEmail.Enabled=false;				
				//this.textTelNo.Enabled=false;
				//this.textPassword.Enabled=false;
				//this.chkValid.Enabled=false;
			}
		}

		private void ButtonEnableControl(bool valid)
		{
			if(valid)
			{
				this.btnCancel.Enabled=true;
				this.btnApply.Enabled=true;
			}
			else
			{
				this.btnCancel.Enabled=false;
				this.btnApply.Enabled=false;
			}
		}
						
		private void LoadDataSet(string sqlQuery)
		{
			DataSetReader objDataSetTemp=new DataSetReader();
			try
			{
				this.FillDataSet(objDataSetTemp,sqlQuery);
			}
			catch (System.Exception E) 
			{
				// 在此处添加错误处理代码。
				this.ErrorHandle(E);
			}
			try
			{
				this.objDataSetReader.Clear();//清空当前数据集
				this.objDataSetReader.Merge(objDataSetTemp);//合并数据集
			}
			catch(System.Exception E) 
			{
				// 在此处添加错误处理代码。
				this.ErrorHandle(E);
			}
		}
		
		private void FillDataSet(DataSetReader dataset,string sqlQuery)
		{
			dataset.EnforceConstraints=false;
			try
			{
				da.SelectCommand.CommandText=sqlQuery;
				conn.Open();
				da.Fill(dataset);
			}
			catch(System.Exception E)
			{
				this.ErrorHandle(E);
			}
		
			finally
			{
				dataset.EnforceConstraints=true;
				conn.Close();
			}
		}

		private void Reader_Load(object sender, System.EventArgs e)
		{
		
			if(this.userSort!="reader")//如果当前用户类型不是"读者"
			{
				if(this.sqlQuery!="")
				{
					this.LoadDataSet(sqlQuery);
					this.TextEnableControl(true);
					this.ButtonEnableControl(true);
				}
				else//如果查询条件为空
				{
					addReader();
				}
			}
			else//如果当前用户类型不是"读者"
			{
				this.LoadDataSet(sqlQuery);
				this.TextEnableControl(false);
				//this.ButtonEnableControl(false);
			}
		}
		
		private void addReader()
		{
			try
			{
				this.BindingContext[this.objDataSetReader,"Reader"].AddNew();
			}
			catch(System.Exception E)
			{
				this.ErrorHandle(E);
			}
			
			this.TextEnableControl(true);
			this.ButtonEnableControl(true);
		
		
		}

		public void UpdateDataSet()
		{
			this.BindingContext[this.objDataSetReader,"Reader"].EndCurrentEdit();
			DataSetReader objDataSetTemp=new DataSetReader();
			objDataSetTemp=(DataSetReader)(this.objDataSetReader.GetChanges());
			try
			{
				this.UpdateDataSource(objDataSetTemp);
				this.objDataSetReader.Merge(objDataSetTemp);
				this.objDataSetReader.AcceptChanges();
			}
			catch(System.Exception E)
			{
				this.ErrorHandle(E);
			}
		}
		

		public void UpdateDataSource(DataSetReader Changerows)
		{
			try
			{
				conn.Open();
				da.Update(Changerows);
			}
			catch(System.Exception E)
			{
				this.ErrorHandle(E);
			}
			finally
			{
				conn.Close();
			}	
		}

		private void btnApply_Click(object sender, System.EventArgs e)
		{
			try
			{
				this.UpdateDataSet();
			}
			catch(System.Exception E)
			{
				this.ErrorHandle(E);
			}			
			this.TextEnableControl(false);
			this.ButtonEnableControl(false);
		}

		private void btnCancel_Click(object sender, System.EventArgs e)
		{
			try
			{
				this.BindingContext[this.objDataSetReader,"Reader"].CancelCurrentEdit();
			}
			catch(System.Exception E)
			{
				this.ErrorHandle(E);
			}			
			this.TextEnableControl(false);
			this.TextEnableControl(false);
			this.ButtonEnableControl(false);
		}

		private void btnExit_Click(object sender, System.EventArgs e)
		{
			this.Close();
		}

							
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?