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

关于datagrid删除数据的问题

楼主qwj103()2006-06-02 13:52:53 在 .NET技术 / C# 提问

如何实现删除datagrid中的一行数据时,数据库中相应的数据也被删除?  
  问题点数:40、回复次数:14Top

1 楼njufrog(事业上升期)回复于 2006-06-02 14:02:32 得分 0

就像这样啊                                      
  ///   <summary>  
  ///   the   count   of   columns  
  ///   </summary>  
  ///   <value>int</value>  
  public   int   U_ColumnCount  
  {  
  set  
  {  
  this.columnCount   =   value;  
  }  
  get  
  {  
  return   this.columnCount;  
  }  
  }Top

2 楼njufrog(事业上升期)回复于 2006-06-02 14:03:49 得分 0

不好意思,回错帖子乐,  
  这个只要把dataset   用dataadapter   update回去就行了吧Top

3 楼qwj103()回复于 2006-06-02 14:13:31 得分 0

不好意思,我用了update,可是数据库中的数据还有Top

4 楼x1234521(Server.net)回复于 2006-06-02 14:18:56 得分 0

删除用UPDATE???  
   
   
  delete   from   tablaname   ....Top

5 楼nikita007(用我的灵魂取悦你,我的宝贝)回复于 2006-06-02 14:19:46 得分 0

private   void   SetDAdapterCommands_returnrate()  
   
  {  
  sqlConn.Open();  
   
  string   strQuery   =   "";  
  Object   S   =   SUP_NO.Text;  
  Object   sectionid   =   SECTIONID.Text;  
   
  SqlParameter   sqlParm   =   null;  
   
  //   Create   data   adapter   with   select   command  
   
  strQuery   =   "SELECT   STORE_NO,   CAST(FIX_RANGE   AS   BIT)   AS   FIX_RANGE,   R_FROM,   R_TO,   CHARGE,LINE_NO   FROM   A2_SUP_RETURN_RATE   WHERE   SUP_NO   =   "   +   S   +   "   AND   SECTIONID   =   "   +   sectionid   ;  
   
  sqlDAdapter_returnrate   =   new   SqlDataAdapter(   strQuery,   sqlConn   );  
                         
   
  //Set   update   command  
   
  strQuery   =   "Update   A2_SUP_RETURN_RATE   SET   "   +   "STORE_NO   =   @STORE_NO,"   +   "   FIX_RANGE   =   @FIX_RANGE,   " +   "   R_FROM   =   @R_FROM,   " +   "   R_TO   =   @R_TO,   "   +   "   CHARGE   =   @CHARGE   "   +   "   WHERE   LINE_NO   =   @LINE_NO   AND   SUP_NO   =   "   +   S;  
     
  sqlDAdapter_returnrate.UpdateCommand   =   new   SqlCommand(   strQuery,   sqlConn   );  
   
   
  sqlParm   =   sqlDAdapter_returnrate.UpdateCommand.Parameters.Add("@STORE_NO",   SqlDbType.Int);  
   
  sqlParm.SourceColumn   =   "STORE_NO";  
   
  sqlParm   =   sqlDAdapter_returnrate.UpdateCommand.Parameters.Add("@FIX_RANGE",   SqlDbType.Int);  
   
  sqlParm.SourceColumn   =   "FIX_RANGE";  
   
  sqlParm   =   sqlDAdapter_returnrate.UpdateCommand.Parameters.Add("@R_FROM",   SqlDbType.Decimal);  
   
  sqlParm.SourceColumn   =   "R_FROM";  
   
  sqlParm   =   sqlDAdapter_returnrate.UpdateCommand.Parameters.Add("@R_TO",   SqlDbType.Decimal);  
   
  sqlParm.SourceColumn   =   "R_TO";  
   
  sqlParm   =   sqlDAdapter_returnrate.UpdateCommand.Parameters.Add("@CHARGE",   SqlDbType.Decimal);  
   
  sqlParm.SourceColumn   =   "CHARGE";  
   
  sqlParm   =   sqlDAdapter_returnrate.UpdateCommand.Parameters.Add("@LINE_NO",   SqlDbType.Int);  
   
  sqlParm.SourceColumn   =   "LINE_NO";  
   
  sqlParm.SourceVersion   =   DataRowVersion.Original;  
   
  //MessageBox.Show(strQuery.ToString());  
   
  //Set   insert   command  
   
  strQuery   =   "INSERT   INTO   A2_SUP_RETURN_RATE   (   "   +   "   STORE_NO,   "   +   "   FIX_RANGE,   "   +   "   R_FROM,   "   +   "   R_TO,   "   +   "   CHARGE,   "   +   "   SUP_NO,   "   +   "   SECTIONID)   "   +   "   VALUES   (@STORE_NO,   "   +   "   @FIX_RANGE,   "   +   "   @R_FROM,   "   +   "   @R_TO,   "   +   "   @CHARGE,"   +   S   +   "   ,   "   +   sectionid   +   ")";  
   
  sqlDAdapter_returnrate.InsertCommand   =   new   SqlCommand(   strQuery,   sqlConn   );  
   
  sqlParm   =   sqlDAdapter_returnrate.InsertCommand.Parameters.Add("@STORE_NO",   SqlDbType.Int);  
   
  sqlParm.SourceColumn   =   "STORE_NO";  
   
  sqlParm   =   sqlDAdapter_returnrate.InsertCommand.Parameters.Add("@FIX_RANGE",   SqlDbType.Int);  
   
  sqlParm.SourceColumn   =   "FIX_RANGE";  
   
  sqlParm   =   sqlDAdapter_returnrate.InsertCommand.Parameters.Add("@R_FROM",   SqlDbType.Decimal);  
   
  sqlParm.SourceColumn   =   "R_FROM";  
   
  sqlParm   =   sqlDAdapter_returnrate.InsertCommand.Parameters.Add("@R_TO",   SqlDbType.Decimal);  
   
  sqlParm.SourceColumn   =   "R_TO";  
   
  sqlParm   =   sqlDAdapter_returnrate.InsertCommand.Parameters.Add("@CHARGE",   SqlDbType.Decimal);  
   
  sqlParm.SourceColumn   =   "CHARGE";  
   
  sqlParm.SourceVersion   =   DataRowVersion.Current;  
  //MessageBox.Show(strQuery.ToString());  
   
  //Set   delete   command  
  strQuery   =   "DELETE   FROM   A2_SUP_RETURN_RATE   "   +   "   WHERE   LINE_NO   =   @LINE_NO   AND   SECTIONID   =   "   +   sectionid   +   "   AND   SUP_NO   =   "   +   S   ;  
   
  sqlDAdapter_returnrate.DeleteCommand   =   new   SqlCommand(   strQuery,   sqlConn   );  
   
  sqlParm   =   sqlDAdapter_returnrate.DeleteCommand.Parameters.Add("@LINE_NO",   SqlDbType.Int);  
   
  sqlParm.SourceColumn   =   "LINE_NO";  
   
  sqlParm.SourceVersion   =   DataRowVersion.Original;  
  //MessageBox.Show(strQuery.ToString());  
   
  }  
  Top

6 楼YYKXQ(异域狂想曲)回复于 2006-06-02 14:34:14 得分 0

你是WinForm还是WebForm,如果是WinForm就在你的调用  
   
  sqlDataAdapter1.Update(..);之前加一条下面的语句:  
   
  SqlCommandBuilder   scb=new   SqlCommandBuilder(sqlDataAdapter1);  
   
   
  这条语句的作用是为你后面的更新操作生成Sql语句  
  Top

7 楼qwj103()回复于 2006-06-02 14:42:53 得分 0

我做的winform,加了SqlCommandBuilder   scb=new   SqlCommandBuilder(sqlDataAdapter1);之后,依然是只删除了datagrid中的数据,而数据库中相应的数据还是存在Top

8 楼zhzuo(秋枫)回复于 2006-06-02 22:39:20 得分 0

ADO.NET中的多数据表操作浅析  
  http://blog.csdn.net/zhzuo/archive/2004/08/06/67016.aspx  
  http://blog.csdn.net/zhzuo/archive/2004/08/06/67037.aspxTop

9 楼CSDNATM(飞行员,麻烦帮开个窗让我透透气)回复于 2006-06-02 23:08:03 得分 0

你在删除datagrid后,查看一下datatable中的状态有没有变化  
  如果没有变化就是datagrid的删除没有反应到datatable中去  
  找出原因所在Top

10 楼ReViSion(和尚)回复于 2006-06-02 23:13:54 得分 0

哪要看你想怎么删除,  
  你可以自己写语句或是  
  用适配器的update,当然你要设置好了才可以Top

11 楼goldanycom()回复于 2006-06-03 00:35:20 得分 0

.net技术群-4号  
  4号群已经开放:23266396  
  请大家赶快加入!Top

12 楼NogamesNow()回复于 2006-06-03 21:35:01 得分 0

mark,其实这些例子不难,很多地方都有的。不过比较佩服秋枫Top

13 楼huangbznet(每天对着......)回复于 2006-06-03 23:02:25 得分 0

winform没搞过,帮顶一下吧Top

14 楼YYKXQ(异域狂想曲)回复于 2006-06-05 09:20:58 得分 0

搂主,你加了SqlCommondBuider后还是不行,那么你就要检查一下你表的结构了,是不是缺少主键,或者是有外键关联都不行。如果没有外键,你添加主键后,使用SqlCommandBuilder,就可以调用dataadapter.Update()更新数据源Top

相关问题

关键词

得分解答快速导航

  • 帖主:qwj103

相关链接

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

广告也精彩

反馈

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