datagrid插入新行的问题
DataSet dataset=(DataSet)dataGrid1.DataSource;
DataTable datatable=dataset.Tables[0];
System.Data.DataRow row=datatable.NewRow();
datatable.Rows.InsertAt(row,Row+1);
datatable.AcceptChanges();
通过上面的代码在指定的地方插入了一空行。dataset和dataGrid1邦定了。在dataGrid1上给新插入的一行,填写值。datatable总共3列 ID,Customers,CompanyName.其中ID是自动增加的,也是主键。
然后调用下面的代码把插入的一行更新到数据库中。
System.Data.OleDb.OleDbCommand command2=new OleDbCommand("INSERT INTO Customers( CustomersID,CompanyName) VALUES (?,?)",myConnect);
parm1=command2.Parameters.Add("@CustomersID", OleDbType.VarChar, 50,"CustomersID");
parm1.Direction=ParameterDirection.InputOutput;
parm=command2.Parameters.Add("@CompanyName", OleDbType.VarChar, 50,"CompanyName");
parm.Direction=ParameterDirection.InputOutput;
adapter.InsertCommand=command2;
adapter.Update(dataset);
但是提示我说:“共发冲突:UpdateCommand影响0个记录”。
可是我不通过InsertAt命令,利用dataGrid1自身的新行,填写好值,调用上面的更新代码,就可以插入到数据库中。
请大虾们指教
问题点数:20、回复次数:13Top
1 楼chenlei8110(陈雷)回复于 2005-04-18 09:01:44 得分 0
求救呀Top
2 楼kqh0319(华仔)回复于 2005-04-18 09:21:13 得分 2
关注...Top
3 楼chenlei8110(陈雷)回复于 2005-04-18 13:16:23 得分 0
不要关注,要答案Top
4 楼chenlei8110(陈雷)回复于 2005-04-18 21:20:57 得分 0
不要关注,要答案
Top
5 楼okit(okit)回复于 2005-04-18 21:26:23 得分 3
是否忘了把parameter初始化?
command2.Parameters.Clear();Top
6 楼chenlei8110(陈雷)回复于 2005-04-19 13:55:53 得分 0
不是这个原因,我试过了。
各位是怎么处理这种情况的。
已经等了n天了。Top
7 楼whutcl8110(whut)回复于 2005-04-19 14:13:37 得分 5
大家给点建议呀Top
8 楼zr1982930(皮卡丘)回复于 2005-04-19 14:29:16 得分 0
你的数据库那张表是不是没有主键啊!Top
9 楼manager710(轨迹)回复于 2005-04-19 14:45:12 得分 10
可能是你的OleDataAdapter.UpdateCommand.CommandText或者InsertCommand有问题。我前几天也遇到了同样的问题。Top
10 楼chenlei8110(陈雷)回复于 2005-04-19 18:12:09 得分 0
DataSet dataset=(DataSet)dataGrid1.DataSource;
DataTable datatable=dataset.Tables[0];
System.Data.DataRow row=datatable.NewRow();
datatable.Rows.InsertAt(row,Row+1);
datatable.AcceptChanges();
datatable在没有InsertAt的时候有主键,主键就是自动增加的ID。
在InsertAt后,插入的这一行,我也怀疑没有主键。可是我用下面的代码设置了主键,还是不行:
DataColumn[] key=new DataColumn[1];
key[0]=datatable.Columns["ID"];
datatable.PrimaryKey=key;
是不是方法不对?
manager710(轨迹)你好,你是怎么处理的,能不能告诉我?
我的InsertCommand就是Command2,大家帮我看看有什么问题没有?
或者直接把你们怎么做的告诉我好吗?
小弟卡在这个地方好久了,不知道怎么办好了。
Top
11 楼chenlei8110(陈雷)回复于 2005-04-20 13:48:51 得分 0
继续救助Top
12 楼chenlei8110(陈雷)回复于 2005-04-22 10:53:26 得分 0
简单的讲就是,大家怎么处理,在datagrid中新增或者新插入一行后怎么保存到数据库中去?
Top
13 楼whutcl8110(whut)回复于 2005-04-22 17:58:01 得分 0
等高手解答Top




