下面是我使用的代码:
private void Form_Load(object sender, EventArgs e)
{ if(Conn.State == 0) Conn.Open();
string str1 = "Select X1 as 序号,X2 as 单据编号,X3 as 货物编号,X4 as 货物名称 From test";
SqlDataAdapter da = new SqlDataAdapter(str1, Conn);
Dataset ds = new Dataset();
da.fill(ds);
Datagirdview dgv = new Datagirdview();
dgv.DataSouce = ds.Tables[0];
}
private void btnSave_Click(object sender, EventArgs e)
{
SqlCommandBuilder builder = new SqlCommandBuilder(da);
da.Update(ds.Tables[0]);
}然后我运行程序后,在Datagirdview中修改了数据,点保存,结果数据库中还是以前的数据,怎么回事啊,该怎么解决,望各位大虾帮忙!
private void Form_Load(object sender, EventArgs e)
{ if(Conn.State == 0) Conn.Open();
string str1 = "Select X1 as 序号,X2 as 单据编号,X3 as 货物编号,X4 as 货物名称 From test";
SqlDataAdapter da = new SqlDataAdapter(str1, Conn);
Dataset ds = new Dataset();
da.fill(ds);
Datagirdview dgv = new Datagirdview();
dgv.DataSouce = ds.Tables[0];
}
private void btnSave_Click(object sender, EventArgs e)
{
SqlCommandBuilder builder = new SqlCommandBuilder(da);
da.Update(ds.Tables[0]);
}然后我运行程序后,在Datagirdview中修改了数据,点保存,结果数据库中还是以前的数据,怎么回事啊,该怎么解决,望各位大虾帮忙!
2、把select语句中的AS都去掉
这样就能更新了
不过更新后datagridview中的列名也变成了x1,x2,x3···
所以你还得刷新一次,把列名变回中文。
SqlDataAdapter sda;SqlCommandBuilder scb = new SqlCommandBuilder(sda);
sda.Update(ds);
this.dataGridView1.DataSource = ds.Tables[0];