查询:
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;
13 个解决方案
#1
你有判断吗
#2
第一:
把所有数据都删除后,再查询时 ,还是进了循环 报错了
=============
数据都没有了,应该不进循环了,是不是数据缓存了?
第二:
string sqlstr = "delete from [T_Sys_JDJLB] where bs in (" + bs + ")";
但看这条sql 看不出你把全部数据都删除了。
string sqlstr = "select bs,wtdh,yqmc from [T_Sys_JDJLB]";
这里又查询列表数据,是不是sql 写错了?
改成:
string sqlstr = "select bs,wtdh,yqmc from [T_Sys_JDJLB] where bs in (" + bs + ")";
把所有数据都删除后,再查询时 ,还是进了循环 报错了
=============
数据都没有了,应该不进循环了,是不是数据缓存了?
第二:
string sqlstr = "delete from [T_Sys_JDJLB] where bs in (" + bs + ")";
但看这条sql 看不出你把全部数据都删除了。
string sqlstr = "select bs,wtdh,yqmc from [T_Sys_JDJLB]";
这里又查询列表数据,是不是sql 写错了?
改成:
string sqlstr = "select bs,wtdh,yqmc from [T_Sys_JDJLB] where bs in (" + bs + ")";
#3
缓存??
#4
加个判断~~
#5
怎样判断?
#6
如果没有数据肯定不会循环的,肯定是哪边错误,仔细调试下
#7
sqlce 数据库 删除后再查询就会报错 有木有人遇到过啊?
#8
单步调试一下,用datatable和dataadapter看看能不能取出数据来
#9
不是的你的
while里面是有装换出错
另外就是string sqlstr = "select bs,wtdh,yqmc from [T_Sys_JDJLB]";的后面没有条件的
你的删除是有条件的
比如:你吧>0的删除了
然后查询的是全部数据
当然还有数据了哦
string sqlstr = "select bs,wtdh,yqmc from [T_Sys_JDJLB]"; 加上条件
然后while里面有bug
while里面是有装换出错
另外就是string sqlstr = "select bs,wtdh,yqmc from [T_Sys_JDJLB]";的后面没有条件的
你的删除是有条件的
比如:你吧>0的删除了
然后查询的是全部数据
当然还有数据了哦
string sqlstr = "select bs,wtdh,yqmc from [T_Sys_JDJLB]"; 加上条件
然后while里面有bug
#10
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();
//读取数据集信息
if(read!=null) //这样判断!!!!
{
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;
if(read!=null) //这样判断!!!!
#11
不是这个问题额 报的错是:Value does not fall within the expected range.
#12
问题解决了 还是谢谢各位了!
#13
是 while 里的转换出错了
#1
你有判断吗
#2
第一:
把所有数据都删除后,再查询时 ,还是进了循环 报错了
=============
数据都没有了,应该不进循环了,是不是数据缓存了?
第二:
string sqlstr = "delete from [T_Sys_JDJLB] where bs in (" + bs + ")";
但看这条sql 看不出你把全部数据都删除了。
string sqlstr = "select bs,wtdh,yqmc from [T_Sys_JDJLB]";
这里又查询列表数据,是不是sql 写错了?
改成:
string sqlstr = "select bs,wtdh,yqmc from [T_Sys_JDJLB] where bs in (" + bs + ")";
把所有数据都删除后,再查询时 ,还是进了循环 报错了
=============
数据都没有了,应该不进循环了,是不是数据缓存了?
第二:
string sqlstr = "delete from [T_Sys_JDJLB] where bs in (" + bs + ")";
但看这条sql 看不出你把全部数据都删除了。
string sqlstr = "select bs,wtdh,yqmc from [T_Sys_JDJLB]";
这里又查询列表数据,是不是sql 写错了?
改成:
string sqlstr = "select bs,wtdh,yqmc from [T_Sys_JDJLB] where bs in (" + bs + ")";
#3
缓存??
#4
加个判断~~
#5
怎样判断?
#6
如果没有数据肯定不会循环的,肯定是哪边错误,仔细调试下
#7
sqlce 数据库 删除后再查询就会报错 有木有人遇到过啊?
#8
单步调试一下,用datatable和dataadapter看看能不能取出数据来
#9
不是的你的
while里面是有装换出错
另外就是string sqlstr = "select bs,wtdh,yqmc from [T_Sys_JDJLB]";的后面没有条件的
你的删除是有条件的
比如:你吧>0的删除了
然后查询的是全部数据
当然还有数据了哦
string sqlstr = "select bs,wtdh,yqmc from [T_Sys_JDJLB]"; 加上条件
然后while里面有bug
while里面是有装换出错
另外就是string sqlstr = "select bs,wtdh,yqmc from [T_Sys_JDJLB]";的后面没有条件的
你的删除是有条件的
比如:你吧>0的删除了
然后查询的是全部数据
当然还有数据了哦
string sqlstr = "select bs,wtdh,yqmc from [T_Sys_JDJLB]"; 加上条件
然后while里面有bug
#10
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();
//读取数据集信息
if(read!=null) //这样判断!!!!
{
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;
if(read!=null) //这样判断!!!!
#11
不是这个问题额 报的错是:Value does not fall within the expected range.
#12
问题解决了 还是谢谢各位了!
#13
是 while 里的转换出错了