while(reader.Read())表里数据为空 还是进了循环
把所有数据都删除后,再查询时 ,还是进了循环 报错了
查询:
string sqlstr = "select bs,wtdh,yqmc from [T_Sys_JDJLB]";
SqlCeDataReader read = null;
//创建SQL数据集
sqlcmd = new SqlCeCommand(sqlstr, DataBaseCon.acon);
read = sqlcmd.ExecuteReader();
//列表清空
listView1.Items.Clear();
//读取数据集信息
while (read.Read())
{
metrology_jdjl.Add(read[0].ToString(), read[0].ToString());
//创建子数组 subitem
ListViewItem tmpSubitem = new ListViewItem();
tmpSubitem.SubItems.Clear();
//委托单号
tmpSubitem.SubItems[0].Text = read[1].ToString();
//仪器名称
tmpSubitem.SubItems.Add(read[2].ToString());
listView1.Items.Add(tmpSubitem);
}
//释放资源
read.Close(); read = null; sqlcmd = null;
删除:
SqlCeCommand sqlcmd = null;
try
{
string sqlstr = "delete from [T_Sys_JDJLB] where bs in (" + bs + ")"; ;
sqlcmd = new SqlCeCommand(sqlstr, DataBaseCon.acon);
sqlcmd.ExecuteNonQuery();
}catch(Exception ee)
{
ret = false;
}
//释放资源
sqlcmd = null;
------解决方案--------------------如果没有数据肯定不会循环的,肯定是哪边错误,仔细调试下
------解决方案--------------------单步调试一下,用datatable和dataadapter看看能不能取出数据来
------解决方案--------------------
不是的你的
while里面是有装换出错
另外就是string sqlstr = "select bs,wtdh,yqmc from [T_Sys_JDJLB]";的后面没有条件的
你的删除是有条件的
比如:你吧>0的删除了
然后查询的是全部数据
当然还有数据了哦
string sqlstr = "select bs,wtdh,yqmc from [T_Sys_JDJLB]"; 加上条件
然后while里面有bug