通过一个小项目学习了在数据库中增删改查。
//增
private void button1_Click(object sender, EventArgs e)
{
#region 获取用户输入
string Id = this.txbId.Text;//获取学号
string name = this.txbName.Text;//获取姓名
//获取性别
string gender = "";
if (radioMan.Checked)
{
gender = radioMan.Text;
}
if (radioWoman.Checked == true)
{
gender = radioWoman.Text;
}
//获取手机
string mobile = this.txbMobile.Text;
//获取地址
string address = this.txbAddress.Text;
//获取高考成绩
string grade = this.txbGrade.Text;
//获取奖品
string award = this.cmbAward.Text;
//获取系别
string stu_class = this.cmbClass.Text;
#endregion
#region 向数据库插入数据
string sqlserstr = ConfigurationManager.ConnectionStrings["sqlservercon"].ConnectionString;
SqlConnection conn = new SqlConnection(sqlserstr);
conn.Open();
//SqlCommand的CommandText存储的是向数据库发送的sql命令
SqlCommand cmd = new SqlCommand();
//将命令对象与连接对象进行关联,命令对象才知道向哪台服务器,哪个数据库发送sql命令
cmd.Connection = conn;
cmd.CommandText = "insert into T_StudentInfo(Stu_Id,Stu_Name,Stu_Mobile,Stu_Address,Stu_Gender,Stu_Class,Stu_Grade,Stu_Award) values(@id,@name,@mobile,@address,@gender,@class,@grade,@award)";
#region 参数替换
cmd.Parameters.AddWithValue("@id", Id);
cmd.Parameters.AddWithValue("@name", name);
cmd.Parameters.AddWithValue("@mobile", mobile);
cmd.Parameters.AddWithValue("@address", address);
cmd.Parameters.AddWithValue("@gender", gender);
cmd.Parameters.AddWithValue("@class", stu_class);
cmd.Parameters.AddWithValue("@grade", grade);
cmd.Parameters.AddWithValue("@award", award);
#endregion
//ExecuteNonQuery方法用来向数据库发送sql命令
cmd.ExecuteNonQuery();
MessageBox.Show("注册成功");
#endregion
}
//查
private void DataLoad()
{
#region 连接数据库查询数据
string sqlserstr = ConfigurationManager.ConnectionStrings["sqlservercon"].ConnectionString;
SqlConnection conn = new SqlConnection(sqlserstr);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "select * from T_StudentInfo where Stu_Name=@name or Stu_Mobile=@mobile";
cmd.Parameters.AddWithValue("@name", txbQuery.Text);
cmd.Parameters.AddWithValue("@mobile",txbQuery.Text);
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
adapter.Fill(dt);
cmd.Dispose();
conn.Close();
conn.Dispose();
this.dataGridView1.DataSource = dt;
#endregion
}
//改
private void button2_Click(object sender, EventArgs e)
{
#region 获取用户输入
string Id = this.txbId.Text;//获取学号
string name = this.txbName.Text;//获取姓名
//获取性别
string gender = "";
if (radioMan.Checked)
{
gender = radioMan.Text;
}
if (radioWoman.Checked == true)
{
gender = radioWoman.Text;
}
//获取手机
string mobile = this.txbMobile.Text;
//获取地址
string address = this.txbAddress.Text;
//获取高考成绩
string grade = this.txbGrade.Text;
//获取奖品
string award = this.cmbAward.Text;
//获取系别
string stu_class = this.cmbClass.Text;
#endregion
#region 将更改结果保存到数据库
string sqlserstr = ConfigurationManager.ConnectionStrings["sqlservercon"].ConnectionString;
SqlConnection conn = new SqlConnection(sqlserstr);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "update T_StudentInfo set Stu_Name=@name,Stu_Mobile=@moile,Stu_Address=@address,Stu_Gender=@gender,Stu_Class=@class,Stu_Grade=@grade,Stu_Award=@award where Stu_Id=@id";
#region 参数替换
cmd.Parameters.AddWithValue("@name", name);
cmd.Parameters.AddWithValue("@moile", mobile);
cmd.Parameters.AddWithValue("@address", address);
cmd.Parameters.AddWithValue("@gender", gender);
cmd.Parameters.AddWithValue("@class", stu_class);
cmd.Parameters.AddWithValue("@grade", grade);
cmd.Parameters.AddWithValue("@award", award);
cmd.Parameters.AddWithValue("@id", Id);
#endregion
int result= cmd.ExecuteNonQuery();
cmd.Dispose();
conn.Close();
cmd.Dispose();
if (result>0)
{
MessageBox.Show("更改成功");
}
#endregion
DataLoad();
}
//删
private void button3_Click(object sender, EventArgs e)
{
DataGridViewRow row = this.dataGridView1.SelectedRows[0];
#region 删除数据库中的数据
string sqlserstr = ConfigurationManager.ConnectionStrings["sqlservercon"].ConnectionString;
SqlConnection conn = new SqlConnection(sqlserstr);
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "delete from T_StudentInfo where Stu_Id=@id";
cmd.Parameters.AddWithValue("@id", row.Cells[0].Value.ToString());
cmd.ExecuteNonQuery();
cmd.Dispose();
conn.Close();
conn.Dispose();
MessageBox.Show("删除成功");
#endregion
//获取当前选中的行,返回值为DataGridViewRow
this.dataGridView1.Rows.Remove(row);
}