string connstr = "Provider=Microsoft.Jet.OleDb.4.0;";
connstr += @"Data Source=D:\Merger20150208_caohuan\GEARCNC.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(thisDataSet, "GrindingWheelInformation");//MY_N_AIT不是表名而是DataTable对象的名称
listView1.Items.Remove(listView1.SelectedItems[0]);
thisAdapter.Update(thisDataSet, "GrindingWheelInformation");//跟新数据库中的值
你只执行了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_caohuan\GEARCNC.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("删除完毕!!!");