问题描述
- 为什么我删除了listview中的值,数据库中没删除呢
- string connstr = ""Provider=Microsoft.Jet.OleDb.4.0;"";
connstr += @""Data Source=D:Merger20150208_caohuanGEARCNC.mdb"";
OleDbConnection tempconn = new OleDbConnection(connstr);//连接数据库OleDbDataAdapter thisAdapter = new OleDbDataAdapter(""select * from GrindingWheelInformation"" tempconn); OleDbCommandBuilder thisBuilder = new OleDbCommandBuilder(thisAdapter);//CommandBuilder用来创建SQL指令,与DataAdapter相关联 DataSet thisDataSet = new DataSet(); thisAdapter.Fill(thisDataSetGrindingWheelInformation"");//MY_N_AIT不是表名而是DataTable对象的名称 listView1.Items.Remove(listView1.SelectedItems[0]); thisAdapter.Update(thisDataSetGrindingWheelInformation"");//跟新数据库中的值
解决方案
你只执行了listView1.Items.Remove,没看到执行delete的sql
解决方案二:
你应该要在执行listview的item删除时再执行数据库的操作。要在listView1.Items.Remove(listView1.SelectedItems[0]);后面添加删除数据库的语句
解决方案三:
怎么还在删呢,花个一天时间看一下数据库基础吧
解决方案四:
没有delete的指令怎么会删除
解决方案五:
OleDbDataAdapter thisAdapter = new OleDbDataAdapter(""select * from GrindingWheelInformation"" tempconn);
和这个差不多 换掉语句 改成 delete 语句比如
(""delete * from GrindingWheelInformation"" tempconn);
解决方案六:
你只是对控件进行了删除操作,没有对数据库进行操作
解决方案七:
在删除listview中的值的同时,调用SQL删除
string strConn = ""Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:Merger20150208_caohuanGEARCNC.mdb"";
OleDbConnection connection = new OleDbConnection(strConn);
string sql = ""delete from GrindingWheelInformation where id=@name"";
if (connection.State != ConnectionState.Open)
connection.Open();
OleDbCommand cmd = new OleDbCommand(sql connection);
cmd.Parameters.AddWithValue(""@name"" listView1.SelectedItems[0]);
cmd.ExecuteNonQuery();
connection.Close();
MessageBox.Show(""删除完毕!!!"");