Visual2015中实现各种控件数据载入
一、思维导图
二、数据的载入和输出
声明并实例化数据库
用SqlCommand属性创建sql命令,从数据库中选择需要的数据
将SQL数据适配器的查询命令指向SQL命令,
SqlDateReader将数据读取出来,并填入控件中
注意:需要在在DateAdapeter中将从表中选择出来的数据的编号(valuemember)转化为名字输出(dislaymember)
1.Textbox:
用Textbox的Text的属性填入数据
2.radioButtom:
在载入数据时, vs中的bit与sql中的bool相对应,假设sql中男性定义为1,女性的定义为0,在vs中用radioButtom的check属性(即选中或未选中对应0,1),这样数据库的性别就可以用该控件显示了。
3.DateTimePicker:
用DateTimePicker的value显示日期,注意要将读出的数据转化为DateTime类型
4.ComboBox:
用Selectedvalue选中并写入被选中编号所对应的该属性。
在界面上拖入如下控件:
代码如下:
1 private void tb_载入_Click(object sender, EventArgs e) 2 { 3 4 SqlConnection sqlConnection = new SqlConnection(); //声明并实例化SQL连接; 5 sqlConnection.ConnectionString = 6 "Server=DESKTOP-VKS7HLB;Database=手术麻醉系统;Integrated Security=sspi"; //在字符串变量中,描述连接字符串所需的服务器地址、数据库名称、集成安全性(即是否使用Windows验证); 7 SqlCommand sqlCommand = new SqlCommand(); //声明并实例化SQL命令; 8 SqlCommand sqlCommand2 = new SqlCommand(); //声明并实例化SQL命令; 9 sqlCommand.Connection = sqlConnection; //将SQL命令的连接属性指向SQL连接; 10 sqlCommand2.Connection = sqlConnection; //调用SQL连接的方法CreateCommand来创建SQL命令;该命令将绑定SQL连接; 11 sqlCommand.CommandText = "SELECT * FROM tb_KeShi;"; 12 sqlCommand2.CommandText = "SELECT * FROM tb_Docter WHERE [email protected];"; 13 sqlCommand2.Parameters.AddWithValue("@No", "10030622"); 14 SqlDataAdapter sqlDataAdapter = new SqlDataAdapter(); 15 sqlDataAdapter.SelectCommand = sqlCommand; 16 DataTable KeShiTable = new DataTable(); 17 sqlConnection.Open(); 18 sqlDataAdapter.Fill(KeShiTable); 19 this.cb_科室编码.DataSource = KeShiTable; 20 this.cb_科室编码.DisplayMember = "KSName"; 21 this.cb_科室编码.ValueMember = "KSID"; 22 SqlDataReader sqlDataReader = sqlCommand2.ExecuteReader(); 23 if (sqlDataReader.Read()) 24 { 25 this.tb_医生编码.Text = sqlDataReader["DOCID"].ToString(); 26 this.tb_医生姓名.Text = sqlDataReader["DOCName"].ToString(); 27 //this.rdb_Male.Checked = (bool)sqlDataReader["Gender"]; 28 //this.rdb_Female.Checked = !(bool)sqlDataReader["Gender"]; 29 //this.dtp_BirthDate.Value = (DateTime)sqlDataReader["BirthDate"]; 30 this.cb_科室编码.SelectedValue = sqlDataReader["KSID"]; 31 } 32 sqlDataReader.Close(); 33 }
更新代 :
private void bt_更新_Click(object sender, EventArgs e) { SqlConnection sqlConnection = new SqlConnection(); //声明并实例化SQL连接; sqlConnection.ConnectionString = "Server=DESKTOP-VKS7HLB;Database=手术麻醉系统;Integrated Security=sspi"; SqlCommand sqlCommand = new SqlCommand(); //声明并实例化SQL命令; sqlCommand.Connection = sqlConnection; //将SQL命令的连接属性指向SQL连接; sqlCommand.CommandText = //指定SQL命令的命令文本; "UPDATE tb_Nurse" + " SET [email protected],[email protected],[email protected]" + " WHERE [email protected];"; sqlCommand.Parameters.AddWithValue("@NurseName", this.tb_护士姓名.Text.Trim()); //向SQL命令的参数集合添加参数的名称、值; sqlCommand.Parameters.AddWithValue("@Sex", this.rdb_Male.Checked); //sqlCommand.Parameters.AddWithValue("@BirthDate", this.dtp_BirthDate.Value); sqlCommand.Parameters.AddWithValue("@NurseID",this.tb_护士编码 .Text.Trim()); //sqlCommand.Parameters.AddWithValue("@Speciality", this.txb_Speciality.Text.Trim()); sqlCommand.Parameters.AddWithValue("@NurseID", "10030129"); sqlConnection.Open(); //打开SQL连接; int rowAffected = sqlCommand.ExecuteNonQuery(); //调用SQL命令的方法ExecuteNonQuery来执行命令,向数据库写入数据,并返回受影响行数; sqlConnection.Close(); //关闭SQL连接; MessageBox.Show("更新" + rowAffected.ToString() + "行。"); }