关于C#中(int)与Convert.ToInt32();的区别
sb.AppendLine("insertQQUservalues("+QQID+",'"+NickName+"','"+PassWord+"','"+Email+"',...
sb.AppendLine("insert QQUser values(" + QQID + ",'" + NickName + "','" + PassWord + "','" + Email + "',0,1) select @@IDENTITY");
上面这行代码,返回时只能用Convert.ToInt32();
return Convert.ToInt32(comm.ExecuteScalar());
而
sb.AppendLine("select count(*) from Admin where LoginID='" + userName + "' and LoginPwd='" + pwd + "'");却可以用int iRet = (int)comm.ExecuteScalar();
求解到底是怎么回事,不都是object类型吗,怎么一个能用(int)转,而另一个却转不了,必须得用Convert.ToInt32();
是不是就因为加了个select @@IDENTITY 展开
上面这行代码,返回时只能用Convert.ToInt32();
return Convert.ToInt32(comm.ExecuteScalar());
而
sb.AppendLine("select count(*) from Admin where LoginID='" + userName + "' and LoginPwd='" + pwd + "'");却可以用int iRet = (int)comm.ExecuteScalar();
求解到底是怎么回事,不都是object类型吗,怎么一个能用(int)转,而另一个却转不了,必须得用Convert.ToInt32();
是不是就因为加了个select @@IDENTITY 展开
1个回答
2013-08-18
展开全部
这样也是可以的啊:
return (int)(comm.ExecuteScalar());
int iRet = Convert.ToInt32(comm.ExecuteScalar());
出现错误的原因是comm对象,与Convert.ToInt32、(int)无关
你的字符串好像是SQL的,应该是那个字符串的问题
return (int)(comm.ExecuteScalar());
int iRet = Convert.ToInt32(comm.ExecuteScalar());
出现错误的原因是comm对象,与Convert.ToInt32、(int)无关
你的字符串好像是SQL的,应该是那个字符串的问题
更多追问追答
追问
追答
这样应该行了:
return (Int32)(comm.ExecuteScalar());
int与Int32有点不同...
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询