一个是对DataTable操作,一个是对DataBase操作,这是两个不同的东西呀,能不能在详细讲讲。
解决方案 »
- 关于PropertyGrid控件验证的问题
- Convert.ToChar() 请高手来解答下.
- 关于winfrom连连看提示功能和每次操作之后的判断(急求)
- 存储过程返回不同的数据集,C#如何接收
- 关于wav文件的问题,急
- 正则表达式(c#)
- 如何在propertyGrid中用*来隐式的显示密码
- 请问拖动winform的代码怎么写?
- 老外的打印例子是否有错,为什么打印不出DATAGRID的数据?http://www.c-sharpcorner.com/Graphics/DataGridPrinterMG.asp
- 得到指定用户所创建的数据库名?
- 这个问题怎么解决 ??关于弹出对话框的问题
- 菜鸟问:C#中怎样实现柱状图和报表
是不是有一个自增长的ID字段
pKeyCol[0] = this.prodDataSet.FX_PRODINFO.Columns["id"] ;
pKeyCol[0].AutoIncrement=true;
pKeyCol[0].AutoIncrementSeed =1;
pKeyCol[0].AutoIncrementStep =1; this.prodDataSet.FX_PRODINFO.PrimaryKey = pKeyCol ;
dataadapter的select语句是:SELECT ID, PRODID, PRODNAME, OUTPRI, INPRI, LEI, DELOK, GHSNAME, CITYID FROM FX_PRODINFO
自动生成了三个语句insert,update,deleteid是自增长.所以在insert中不用写ID也会在数据库中自动生成新id
我的字段(id)是已经在数据库中用序列和插入前的触发器得到,并不需要在程序中赋值,
请问您的这几句话真的有必要么?谢谢你的帮助
使用一个COMMAND去执行一个INSERT语句,很简单。
对,在表中有一个名称为ID的自增长的主关键字
楼主你看,你的第二种方法是自定义了一条insertCommand,那么运行后实际上直接对数据库操作--增加了一行记录;
第一种方法的报错其实有误导,不是“ID”为空,而是你的Rows.Add()语句没有生效。
你可以在第一种方法里也加上SqlCommand语句,最后Add成功后记住要Update() 拙见,请指点
可以给id列赋一个值,在这个DataTable里保持唯一,实际插入数据库以后再取出这一行数据,就获得了实际插入到数据库里保存的id值。
DataRow rowNew =prodDataSet.FX_PRODINFO.NewRow();
试试改写成
DataRow rowNew =prodDataSet.FX_PRODINFO.NewRow("you new row ID");
怎么样
:-P
汗++++
设成自增长:
prodDataSet.FX_PRODINFO["ID"].AutoIncrement = true;
试试看.....
应该是:
prodDataSet.FX_PRODINFO.Columns["ID"].AutoIncrement = true;