C# 如何通过textbox修改dataGridView中的值单击button并保存到数据库中
4个回答
推荐于2018-03-29
展开全部
//窗体加载
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();
}
我自己测过了 希望对你有帮助
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();
}
我自己测过了 希望对你有帮助
展开全部
没看明白什么意思,如果你是想通过textbox的输入改变dataGridView的显示,那么你可以双击textbox,在出现的textBox1_TextChanged里加个根据textbox的值查询数据库再重新绑定dataGridView即可,如果是Web记得textbox 加个autopostback
如果是单纯修改数据库值button就可以完成了,你先根据姓名查出他的学号,再按这个学号更新一下数据库就OK了
如果是单纯修改数据库值button就可以完成了,你先根据姓名查出他的学号,再按这个学号更新一下数据库就OK了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
其实有两种方法:一种是使用"先修改再查询"就是先用update语句在数据库中进行修改,再通过select语句查询出来:第二种就是:用同步更新的方法,用SqlCommandBuilder,使数据集和数据源的信息保持一致
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
通过textbox修改的是数据库的值,而不是dataGridView。在button_click事件中,写数据库添加语句就行。
追问
dataGridView怎么重新绑定啊
追答
只要重新设置datasourse就可以了。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询