问题描述
- 用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_caohuanGEARCNC.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],这个字段你数据库中没有吧?你应该是想获得选择的那列的第一个吧?
时间: 2024-12-31 16:21:00