SqlCeCommand scCommand = new SqlCeCommand();
scCommand.CommandText = "select * from Pro_Info";
pad = new SqlCeDataAdapter(scCommand.CommandText, conn);
pad.InsertCommand = scCommand;
SqlCeCommandBuilder pdb = new SqlCeCommandBuilder(pad);
pad.Fill(ds, "Pro_Info");
Pro_Info是一张表,0号列int型数字,设为了主键。
DataGridView绑定了这张表,允许在末尾添加新行。
运行后,在表中最后添加新行,主键列是完全不同的数字。加完行后DataGridView并没报错。
但执行到
pad.Update(ds.Tables["Pro_Info"]);
这句时,却提示主键数字有重复,并且是表中第一行那个数。
设断点查看了表Pro_Info中的内容,有新加的行,并且各行的0列数字并不相同。
请教大牛。。。这奇怪的现象是从何而来。。。。。感激不尽。。。
5 个解决方案
#1
还真没遇到过
#2
把第一列删除了第2行肯定也出现同样问题,你是不是程序哪有问题?看上去像是执行插入语语句一样。
pad.InsertCommand = scCommand;看下是不是这个的问题。
pad.InsertCommand = scCommand;看下是不是这个的问题。
#3
要insert就用一个,你两种算法都用,估计冲突
#4
肯定是全部insert了才会冲突
#5
非常感谢!还真是这里~删掉就对了~~
这个小问题调了一整天。。都找不到类似的错误。。
#1
还真没遇到过
#2
把第一列删除了第2行肯定也出现同样问题,你是不是程序哪有问题?看上去像是执行插入语语句一样。
pad.InsertCommand = scCommand;看下是不是这个的问题。
pad.InsertCommand = scCommand;看下是不是这个的问题。
#3
要insert就用一个,你两种算法都用,估计冲突
#4
肯定是全部insert了才会冲突
#5
非常感谢!还真是这里~删掉就对了~~
这个小问题调了一整天。。都找不到类似的错误。。