CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

datagrid插入新行的问题

楼主chenlei8110(陈雷)2005-04-17 13:07:47 在 .NET技术 / C# 提问

 
  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

相关问题

  • 关于DataGrid插入新行的疑问
  • DataGrid插入行的问题!!!
  • datagrid如何插入空行?
  • datagrid如何在选定行的下方插入一个新行
  • datagrid中,在指定位置新插入1行
  • datagrid中如何插入一行
  • DataGrid 的插入行(列)的方法??
  • 如何在DATAGRID中插入一个新行,并在DATAGRID的第一行显示出来
  • datagrid数据插入
  • 怎么让Windows程序里的datagrid无法自动插入,或者在插入新行时自动给一些字段赋值?

关键词

  • 代码
  • datagrid
  • 数据库
  • 插入
  • datatable
  • insertat
  • customersid
  • dataset
  • companyname
  • 一行

得分解答快速导航

  • 帖主:chenlei8110
  • kqh0319
  • okit
  • whutcl8110
  • manager710

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo