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

在表中删除一行记录

楼主jstcshy(jstc)2005-07-09 10:02:59 在 .NET技术 / VB.NET 提问

想通过一个按钮实现数据库的删除操作,我写了一个,每次只能删除一次,第二次就出现:并发冲突:   DeleteCommand   影响   0   个记录。请问如何解决,由于水平有限,希望各位大哥能给详细的讲讲,谢谢。  
  Private   Sub   Button2_Click(ByVal   sender   As   System.Object,   ByVal   e   As   System.EventArgs)   Handles   Button2.Click  
                          Try  
   
                          Dim   ParaValue   As   String  
   
                          ParaValue   =   DataGrid1.Item(DataGrid1.CurrentRowIndex,   0)  
   
                          CType(MyCurrencyManager.Current,   DataRowView).Row.Delete()  
                          Dim   CRow   As   DataSet  
   
                          CRow   =   MyDS.GetChanges(DataRowState.Deleted)  
   
                          OledbCmd.CommandText   =   "DELETE   FROM   charge   Where   企业名称   =   ?"  
   
                          OledbCmd.Parameters.Clear()  
                          OledbCmd.Parameters.Add("企业名称",   ParaValue)  
                          OledbDA.DeleteCommand   =   OledbCmd  
   
   
                          OledbDA.Update(CRow,   "charge")  
                           
                  End   Try  
          End   Sub  
  问题点数:30、回复次数:4Top

1 楼gzy11(可可猫)回复于 2005-07-09 12:03:26 得分 10

Dim   a1   As   String  
                  Dim   d1   As   New   DataGridCell  
                  Try  
                          a1   =   Me.DataGrid1.Item(Me.DataGrid1.CurrentCell.RowNumber,   0)  
                          myconn.Open()  
                          myDeleteCommand.CommandText   =   "   delete   from   SetUp   where   姓名   =       '"   &   a1   &   "'   "  
                          myDeleteCommand.Connection   =   myconn  
                          myDataAdapter.DeleteCommand   =   myDeleteCommand  
                          myDataAdapter.DeleteCommand.ExecuteNonQuery()  
                          myconn.Close()  
                  Catch   ex   As   Exception  
                          MessageBox.Show(ex.Message.ToString)    
                          myconn.Close()  
                  End   Try  
                  myDataSet.tables("SetUp").clear()  
                  read()  
                  Me.DataGrid1.CurrentCell   =   d1Top

2 楼gzy11(可可猫)回复于 2005-07-09 12:11:20 得分 10

 
  上面的代码是用鼠标点击DataGrid删除行  
  变量:  
  Public   myconn   As   New   OleDbConnection("provider=microsoft.jet.oledb.4.0;password='';   user   id   =admin;data   source   =   .\DATA.dll;")  
          Public   myDataAdapter   As   New   OleDbDataAdapter  
          Public   mySelectCommand   As   New   OleDbCommand  
          Public   myInsertCommand   As   New   OleDbCommand  
          Public   myUpDateCommand   As   New   OleDbCommand  
          Public   myDeleteCommand   As   New   OleDbCommand  
          Public   myDataSet   =   New   DataSet("mynewDataSet")Top

3 楼Alisa(零度百合)回复于 2005-07-09 18:02:47 得分 5

Private   Sub   Delete_Row()  
                  Dim   DeleteUserRowCmd,   DeleteInfoRowCmd   As   String  
                  Dim   CoperCode   As   String  
                  Me.MyCnn.ConnectionString   =   "...."  
                  Me.MyCmd.CommandText   =   "Select   Count(1)   FROM   table   WHERE   "  
                  Me.MyCmd.Connection   =   Me.MyCnn  
                  Try  
                          CoperCode   =   me.code.Text  
                          MyCnn.Open()  
                          '判断当前是否是空行  
                          If   CoperCode   Is   Nothing   Then  
                                  MessageBox.Show("没有要删除的数据,请核实!",   "提示信息",   MessageBoxButtons.OK,   MessageBoxIcon.Information)  
                          Else  
                                  '确认是否删除当前数据行  
                                  If   MessageBox.Show("是否确认删除该条信息?",   "提示信息",   MessageBoxButtons.YesNo,   MessageBoxIcon.Information)   =   DialogResult.Yes   Then  
                                          DeleteUserRowCmd   =   "DELETE   table   WHERE   条件"  
                                          RunCommandNonQuery(MyCnn,   DeleteUserRowCmd)  
                                          DeleteInfoRowCmd   =   "delete   table   where   条件"  
                                          RunCommandNonQuery(MyCnn,   DeleteInfoRowCmd)  
                                          MessageBox.Show("记录已删除!",   "提示信息",   MessageBoxButtons.OK,   MessageBoxIcon.Information)  
                                  End   If  
                                  end   If  
                  Catch   ex   As   Exception  
                          MessageBox.Show("删除失败!",   "提示信息",   MessageBoxButtons.OK,   MessageBoxIcon.Error)  
                  Finally  
                          Me.MyCnn.Close()  
                          Me.MyAdp.Dispose()  
                          Me.MyDst.Dispose()  
                  End   Try  
          End   SubTop

4 楼kissnono(塔.拉夏的灵魂)回复于 2005-07-11 09:35:10 得分 5

楼主:你的dataset没有acceptchanges。  
  在update之后,MyDS.tables("charge").acceptchanges.Top

相关问题

  • 表记录删除不掉
  • 请问怎么用触发器删除表中完全重复的记录行,只留一行?
  • 动态表格:删除一行
  • 用ADOTable怎样删除一行数据库记录?
  • 如何通过EJB删除数据库中的一行记录??
  • C#中,在dataset中删除一行记录不成功!!!
  • 如何删除TXT文件中一行记录?
  • 怎样删除datatable 中的一行记录而不删除数据库中对应的记录。
  • 如何对一个文件操作,取出一行记录,删除一行记录。特急?
  • 删除主表记录的问题

关键词

  • datagrid
  • me
  • oledbcmd
  • 删除
  • mydeletecommand
  • myconn
  • deletecommand
  • crow
  • mydataadapter
  • paravalue

得分解答快速导航

  • 帖主:jstcshy
  • gzy11
  • gzy11
  • Alisa
  • kissnono

相关链接

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

广告也精彩

反馈

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