日期:2014-05-17 浏览次数:20654 次
SqlCommand com = new SqlCommand("select count(name) from mytest where name='test'); int temp_object= Convert.toInt32(com.ExecuteScalar()); com.Dispose(); if(temp_object>0) { int nCount =temp_object; ...... }
------解决方案--------------------
select name from mytest where name='test'
你这个查询根本不是标量查询,为何要用com.ExecuteScalar();
ExecuteScalar此方法只是返回一个object类型,只能判断是否为null.
如果执行如count(*)这样的查询,可以做这样的转换Convert.toUint(com.ExecuteScalar())
------解决方案--------------------
//再对temp_object进行判断 if(object_temp1!=null) { int nCount = Convert.ToInt32(temp_object.ToString());//程序执行到此处错误 //...... }
------解决方案--------------------
name 是int類型的嗎?
------解决方案--------------------
sql 语句的问题吧
select count(*)from mytest where name='test'
------解决方案--------------------
这段程序上有很多问题啊;
1.如果你查询的字段是NAME,那么是STRING,后面怎么转成INT,当然会出问题.
2.如果你查询的是总数,你的SQL语句就是错的.
3.object_temp1是什么东西,写错了?