this.selectStr = "select count(*) from RoomType where RoomTypeName='" + typename + "'";
this.sqlCommand1.CommandText = this.selectStr;
this.sqlConnection1.Open();
Convert.ToInt32(this.sqlCommand1.ExecuteScalar().ToString())红色字体部分的转化,原始的this.sqlCommand1.ExecuteScalar()是个object类型
为什么直接用Convert.ToInt32(this.sqlCommand1.ExecuteScalar())
会错误呢
必须先转为string?难道这个object封箱前是个string类型不成?
先拆箱?必需?
this.sqlCommand1.CommandText = this.selectStr;
this.sqlConnection1.Open();
Convert.ToInt32(this.sqlCommand1.ExecuteScalar().ToString())红色字体部分的转化,原始的this.sqlCommand1.ExecuteScalar()是个object类型
为什么直接用Convert.ToInt32(this.sqlCommand1.ExecuteScalar())
会错误呢
必须先转为string?难道这个object封箱前是个string类型不成?
先拆箱?必需?
看
this.sqlCommand1.ExecuteScalar().ToString()值是多少?
是不是可以转化为int型?
这个代码表示返回的this.sqlCommand1.ExecuteScalar().肯定是一个数字喽,查不到记录就为0啊,
Int32 i= Convert.ToInt32(obj);
object obj=" ";
Int32 i= Convert.ToInt32(obj);
try
{
Convert.ToInt32(this.sqlCommand1.ExecuteScalar().ToString())
}
catch(exception ex)
{
//输出异常
MessageBox.show(ex.tostring());
}
if(obj is int)
i=(int)obj);
else if (obj is string)
{
}
"select isnull(id,0) from usertable where Name='" + name + "'";