值对于 Int32 太大或太小。不解,请指教!

冬夜 2011-07-21 10:23:50
代码如下:
                    conn.Open();
SqlCommand sel = new SqlCommand("select * from [indent] where [id]='" + textBox3.Text + "'", conn);
if (Convert.ToInt32(sel.ExecuteScalar()) != 0)

上下代码省略,出现错误提示 “值对于 Int32 太大或太小”,请高手指点一下是怎么回事,程序之前运行是好的,我就改了一下textbox的最大字符长度后就出现这个问题
...全文
2164 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
qingYun1029 2011-07-21
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 jn40105 的回复:]

谢谢各位了 已经搞明白了!决定使用if (Convert.ToString(sel.ExecuteScalar()) != ""),改程序去了!
[/Quote]

不符合常理。

有就是大于0,没有就是等于0
冬夜 2011-07-21
  • 打赏
  • 举报
回复
谢谢各位了 已经搞明白了!决定使用if (Convert.ToString(sel.ExecuteScalar()) != ""),改程序去了!
冬夜 2011-07-21
  • 打赏
  • 举报
回复
最大只有 2147483647 难怪我的要出错
我姓区不姓区 2011-07-21
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jn40105 的回复:]

4500099999 这个不算大吧
[/Quote]
超出int的最大值了,用Long数据类型吧
qingYun1029 2011-07-21
  • 打赏
  • 举报
回复
我试了试。。。

-2147483648到2147483647
qingYun1029 2011-07-21
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 jn40105 的回复:]

引用 7 楼 qingyun1029 的回复:
引用 5 楼 jn40105 的回复:

if (Convert.ToString(sel.ExecuteScalar()) != "")
是不是也可以用来判断是否有找到相同的记录数


最大值


C# code
Console.WriteLine(int.MaxValue);


你这个是不是ASP.NET里语法啊?……
[/Quote]

不会没有写过控制台的例子吧??

如果是asp.net里面你就Response.Write();括号里面的还是不懂喽。。。

只要能看到就行了,你想怎么弄就怎么弄,你调试一把也可以呀!!
qingYun1029 2011-07-21
  • 打赏
  • 举报
回复
打印出来看看嘛。。

有符号的32胃整数,自己也可以练练口算。。

呵呵!

Console.WriteLine(int.MaxValue);
冬夜 2011-07-21
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 qingyun1029 的回复:]
引用 5 楼 jn40105 的回复:

if (Convert.ToString(sel.ExecuteScalar()) != "")
是不是也可以用来判断是否有找到相同的记录数


最大值


C# code
Console.WriteLine(int.MaxValue);
[/Quote]

你这个是不是ASP.NET里语法啊?
冬夜 2011-07-21
  • 打赏
  • 举报
回复
刚试了一下用if (Convert.ToString(sel.ExecuteScalar()) != "")也可以,我要查询的东西是主键,能查到的一定是有值的,
之前的最多只能输入5位所以在测试的时候没有问题,改成长度是10位就行了 ,随便问一下 toint32 的最大值是多少?

qingYun1029 2011-07-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 jn40105 的回复:]

if (Convert.ToString(sel.ExecuteScalar()) != "")
是不是也可以用来判断是否有找到相同的记录数
[/Quote]

最大值

Console.WriteLine(int.MaxValue);
qingYun1029 2011-07-21
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 jn40105 的回复:]

if (Convert.ToString(sel.ExecuteScalar()) != "")
是不是也可以用来判断是否有找到相同的记录数
[/Quote]

主要根据你的sql语句来。。。

判断相同一般我这样写。

string strSQL = "select count(*) from tab_name where username='123456' and pwd='123456'";

然后

if(Convert.ToInt32(sel.ExecuteScalar()) == 1)
{
//有
}
else
{
//无
}


注意了,是第一行第一列,不是跟你开玩笑的哦。。。

呵呵!!
冬夜 2011-07-21
  • 打赏
  • 举报
回复
if (Convert.ToString(sel.ExecuteScalar()) != "")
是不是也可以用来判断是否有找到相同的记录数
冬夜 2011-07-21
  • 打赏
  • 举报
回复
4500099999 这个不算大吧
  • 打赏
  • 举报
回复
把“*”改成明确的字段名。
qingYun1029 2011-07-21
  • 打赏
  • 举报
回复
ExecuteScalar()//返回结果集中的第一行第一列的值。。

你确定sel.ExecuteScalar()可以转换为int32类型???
qingYun1029 2011-07-21
  • 打赏
  • 举报
回复
自己调试,看看sel.ExecuteScalar()这个的值是什么???

111,124

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧