winform 里面有一个DataGridView
form加载时DataGridView绑定了一个数据库表。key:id(自动增长),副表关联字段cusid.
form加载时我不想DataGridView显示cusid列,所以sql查询时就没写这个字段。
问题来了:
我想新增一条记录时,cusid这个字段要赋值,用dataadapter.update()方式该怎么实现啊?
就是实现DataGridView的增删改。
当然如果form load时要把cusid加上去也可以,能把它隐藏也可以。求大牛帮忙DataGridViewWinForm
form加载时DataGridView绑定了一个数据库表。key:id(自动增长),副表关联字段cusid.
form加载时我不想DataGridView显示cusid列,所以sql查询时就没写这个字段。
问题来了:
我想新增一条记录时,cusid这个字段要赋值,用dataadapter.update()方式该怎么实现啊?
就是实现DataGridView的增删改。
当然如果form load时要把cusid加上去也可以,能把它隐藏也可以。求大牛帮忙DataGridViewWinForm
cuslistsda = new SqlDataAdapter("select id, [Cdate] as 日期, [CCode] as 型号, [CType] as 分类, [CCost] as 成本,[OutPrice] as 出货价,[CustomerName] as 客户名称,"
+ "[Gain] as 利润, [jinhuoshang] as 进货商, [PayMode] as 支付方式, [shui] as 是否含税, [FP] as 发票, [BZ] as 备注 from customers", conn);
cuslistsda.Fill(cuslistds, "cuslistTable");
this.dataGridView2.DataSource = cuslistds.Tables[0];button代码(对dataGridView2修改后)
conn = new SqlConnection(connectionString);
conn.Open();
if (MessageBox.Show("确实要修改数据库吗?", "决策提示", MessageBoxButtons.OKCancel, MessageBoxIcon.Question) == DialogResult.OK)
{
DataTable dt = this.dataGridView2.DataSource as DataTable;
if (dt != null)
{
try
{
SqlDataAdapter da = new SqlDataAdapter("select id,[Cdate] as 日期, [CCode] as 型号, [CType] as 分类, [CCost] as 成本,[OutPrice] as 出货价,[CustomerName] as 客户名称,"
+ "[Gain] as 利润, [jinhuoshang] as 进货商, [PayMode] as 支付方式, [shui] as 是否含税, [FP] as 发票, [BZ] as 备注 from Customers", conn);
SqlCommandBuilder scb = new SqlCommandBuilder(da);
DataSet ds = new DataSet();
da.Fill(ds, "customers");
da.Update(dt);
}
catch (DataException de)
{
//
}
}
MessageBox.Show("成功修改数据库!", "恭喜");
}
else
{
MessageBox.Show("放弃修改数据库!", "系统提示");
}
}
这样可以修改数据库了,但是新增一条记录的话cusid字段没有赋值啊求指点