C# 如何通过textbox修改dataGridView中的值单击button并保存到数据库中

2024-12-08 14:37:08
推荐回答(4个)
回答1:

//窗体加载
private void Form1_Load(object sender, EventArgs e)
{
//绑定表
GetDataGridView();
}
//绑定方法
private void GetDataGridView()
{
string sql = "select barcode,operator,time from Center_ClothesLog";
dataGridView1.Columns.Clear();

SqlDataAdapter adapter = new SqlDataAdapter(sql, DBhelper.conn);
DataTable table = new DataTable();
adapter.Fill(table);
dataGridView1.DataSource = table;
}
//点击DataGridView事件
string barcode; //条码号唯一标识
private void dataGridView1_CellContentClick(objec sender,DataGridViewCellEventArgs e)
{
btnCancel_Click(sender,e);
barcode = dataGridView1.CurrentRow.Cells[0].Value.ToString();
string oper = dataGridView1.CurrentRow.Cells[1].Value.ToString();
string time = dataGridView1.CurrentRow.Cells[2].Value.ToString();

txtbarcode.Text = barcode;
txtoperator.Text = oper;
txttime.Text = time;

}
//取消
private void btnCancel_Click(object sender, EventArgs e)
{
txtbarcode.Clear();
txtoperator.Clear();
txtoperator.Clear();
}

//更新
private void btnUpdate_Click(object sender, EventArgs e)
{
string sql = string.Format("update Center_ClothesLog set barcode= '{0}',operator = '{1}',time = '{2}' where barcode = '{3}'",txtbarcode.Text,txtoperator.Text,txttime.Text,barcode);

SqlCommand command = new SqlCommand(sql, DBhelper.conn);

DBhelper.conn.Open();

int num = command.ExecuteNonQuery();

//如果更新数据成功 重新绑定datagridview
if (num > 0)
{
GetDataGridView();
}

DBhelper.conn.Close();

}
我自己测过了 希望对你有帮助

回答2:

没看明白什么意思,如果你是想通过textbox的输入改变dataGridView的显示,那么你可以双击textbox,在出现的textBox1_TextChanged里加个根据textbox的值查询数据库再重新绑定dataGridView即可,如果是Web记得textbox 加个autopostback
如果是单纯修改数据库值button就可以完成了,你先根据姓名查出他的学号,再按这个学号更新一下数据库就OK了

回答3:

其实有两种方法:一种是使用"先修改再查询"就是先用update语句在数据库中进行修改,再通过select语句查询出来:第二种就是:用同步更新的方法,用SqlCommandBuilder,使数据集和数据源的信息保持一致

回答4:

通过textbox修改的是数据库的值,而不是dataGridView。在button_click事件中,写数据库添加语句就行。