sql为:select max(id) from tb_temp
object objTemp=dbCommand.ExecuteScalar();
察看objTemp,值为0,结果执行int i=(int)objTemp,报错"无法执行转换"
为什么?
object objTemp=dbCommand.ExecuteScalar();
察看objTemp,值为0,结果执行int i=(int)objTemp,报错"无法执行转换"
为什么?
解决方案 »
- excel导出listview里显示的内容,winform中
- C# 如何判断应用程序空闲
- 如何设置winform窗体自适应大小 哈哈
- VS2005 下 SQL Express的问题 服务器列表不能获取
- 100分 :datagrid问题
- 如何导出TXT文件
- 编码转换问题
- 因为当前线程不在单线程单元中,故无法实例化 ActiveX 控件“8856f961-340a-11d0-a96b-00c04fd705a2”,请问这是什么问题?
- vss6.0安装问题?
- 如何设置DataGrid中某列的固定宽度
- 新手,求做框架网页的例子程序代码
- 没办法,出100分征求答案:ExecuteScalar得到的object,等于0时无法强制转成int
刚刚做了测试如下:数据库内容:
id name
0 wawaOledbDataCommand dbComm=new OleDbDataCommand("select max(id) from tb_temp",myConn);
MessageBox.Show(dbComm.ExecuteScalar().GetType().ToString());
显示:System.Int16然后:
OledbDataCommand dbComm=new OleDbDataCommand("select max(id) from tb_temp",myConn);
MessageBox.Show(dbComm.ExecuteScalar().ToString());
显示:0然后:
OledbDataCommand dbComm=new OleDbDataCommand("select max(id) from tb_temp",myConn);
int maxid=(int)dbComm.ExecuteScalar();//在这里报错:指定的转换无效,使用long maxid=(long)dbComm.ExecuteScalar();也不行
MessageBox.Show(maxid.ToString());为什么?百思不解
if(dbComm.ExecuteScalar().ToString()=="0")
id = 0;
else
id = (int)dbComm.ExecuteScalar();嘻嘻...