c#dgv插入表数据时报主键不允许nulls错误

最爱我家蕾蕾 2016-03-25 05:50:19
datagridview绑定了数据源表,
本想用FOR循环自动生成主键GUID,但仍然总是报错不允许NULL,代码如下,请帮忙谢谢!


private void Form4_Load(object sender, EventArgs e)
{
// TODO: 这行代码将数据加载到表“stock_knx.STOCK_KNX”中。您可以根据需要移动或删除它。
this.sTOCK_KNXTableAdapter.Fill(this.stock_knx.STOCK_KNX);
// TODO: 这行代码将数据加载到表“dz_code.DZ_CODE”中。您可以根据需要移动或删除它。
this.dZ_CODETableAdapter.Fill(this.dz_code.DZ_CODE);
//dataGridView1.Columns[0].Visible = false;//隐藏主键列
}

private void button1_Click(object sender, EventArgs e)
{
button1.Enabled = false;
//自动添加主键:
for (int i = 0; i < this.stock_knx.Tables[0].Rows.Count; i++)
{
if (this.stock_knx.Tables[0].Rows[i].RowState == DataRowState.Added)
{ this.stock_knx.Tables[0].Rows[i]["主键"]= Guid.NewGuid().ToString();
}
}
button1.Enabled = true;

try
{
this.sTOCK_KNXTableAdapter.Update(this.stock_knx.STOCK_KNX);
MessageBox.Show("保存成功!");

}
catch (Exception E)
{
MessageBox.Show(E.Message);
}
}
...全文
267 3 打赏 收藏 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
最爱我家蕾蕾 2016-03-26
  • 打赏
  • 举报
回复
这个代码就是要往stock_knx里插入数据,修改是没问题了,但插入时报这个错误,分析就是因为那个for循环做的更改,没有在this.sTOCK_KNXTableAdapter.Update获取到。 这个for循环在另一个手写的表connection string和adapter里能正常使用;但这里报错的数据源我是绑定的,不是手写的连接代码;没有获取到,我觉得是不是因为这里for分配了主键,但datatable还是什么的没有获取到?
  • 打赏
  • 举报
回复
调试看看 这个 STOCK_KNX 里边有数据么 http://www.cnblogs.com/alexis/archive/2010/11/06/1870519.html
最爱我家蕾蕾 2016-03-25
  • 打赏
  • 举报
回复

111,128

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧