代码如下:                    conn.Open();
                    SqlCommand sel = new SqlCommand("select * from [indent] where [id]='" + textBox3.Text + "'", conn);
                    if (Convert.ToInt32(sel.ExecuteScalar()) != 0)
上下代码省略,出现错误提示 “值对于 Int32 太大或太小”,请高手指点一下是怎么回事,程序之前运行是好的,我就改了一下textbox的最大字符长度后就出现这个问题

解决方案 »

  1.   

    自己调试,看看sel.ExecuteScalar()这个的值是什么???
      

  2.   

    ExecuteScalar()//返回结果集中的第一行第一列的值。。你确定sel.ExecuteScalar()可以转换为int32类型???
      

  3.   

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

  4.   


    主要根据你的sql语句来判断相同一般我这样写。string strSQL = "select count(*) from tab_name where username='123456' and pwd='123456'";然后if(Convert.ToInt32(sel.ExecuteScalar()) == 1)
    {
    //有
    }
    else
    {
    //无
    }
    注意了,是第一行第一列,不是跟你开玩笑的哦呵呵!!
      

  5.   


    最大值Console.WriteLine(int.MaxValue);
      

  6.   

    刚试了一下用if (Convert.ToString(sel.ExecuteScalar()) != "")也可以,我要查询的东西是主键,能查到的一定是有值的,
    之前的最多只能输入5位所以在测试的时候没有问题,改成长度是10位就行了 ,随便问一下 toint32 的最大值是多少?
      

  7.   


    你这个是不是ASP.NET里语法啊?
      

  8.   

    打印出来看看嘛。。有符号的32胃整数,自己也可以练练口算。。呵呵!Console.WriteLine(int.MaxValue);
      

  9.   


    不会没有写过控制台的例子吧??如果是asp.net里面你就Response.Write();括号里面的还是不懂喽只要能看到就行了,你想怎么弄就怎么弄,你调试一把也可以呀!!
      

  10.   

    超出int的最大值了,用Long数据类型吧
      

  11.   

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