用C#只删除了listview中的选中的一行,但没删除数据库中的

问题描述:

string strSQL = "delete from GrindingWheelInformation where listView1.SelectedItems[0]'" + listView1.SelectedItems.ToString() + "'";
string connstr = "Provider=Microsoft.Jet.OleDb.4.0;";
connstr += @"Data Source=D:\Merger20150208_caohuan\GEARCNC.mdb";
OleDbConnection tempconn = new OleDbConnection(connstr);//连接数据库
String str = "select * from GrindingWheelInformation";//创建执行SQL语句

            listView1.Items.Remove(listView1.SelectedItems[0]);

看看delete语句执行了没有,执行语句是否拼接正确。

没看到你那里执行了 strSQL

listView1.Items.Remove(listView1.SelectedItems[0]);
你只执行了删除listview中选中的item,你应该先获得这个item在数据库中的位置,然后删除数据库中信息(执行delete语句),然后在删除listview中的item

SQL 拼接的就不对么,双引号里面的会原封不动的执行sql语句了, "delete from GrindingWheelInformation where listView1.SelectedItems[0]'" + listView1.SelectedItems.ToString() + "'"; 其中 listView1.SelectedItems[0],这个字段你数据库中没有吧?你应该是想获得选择的那列的第一个吧?