晕,if那一行又少个了g,不知道csdn的排版怎么搞的,程序里是有g的,各位别说少了个字母了

解决方案 »

  1.   

    自己又调试了一下,用前面的那个注释掉的connstr就没问题,看来是sql语句错了?函数功能是这样的,传进一个string的1234567890,去前面7位后转成int32型,再用这个数值去和mod表里的start和end比较,要求是start<=它并且end>=它,这个sql应该怎么写?
      

  2.   

    if (myReader.Read()) tt = myReader["city"].ToString()+"|"+myReader["city1"].ToString();
      

  3.   

    string connstr = "select * from Mod where start<="+tempnumber.ToString()+" and end>="+tempnumber.ToString();
      

  4.   

    异常是 OleDb 抛出来的,
    1. 检查 sql 语句
    2. 检查 connection
      

  5.   

    net_lover(孟子E章)
    用了你的语句还是不行啊,数据库里start和end都是双精度型的,是不是和这个有关系?
      

  6.   

    有时候
    11111111111111111111111111111
    .tostring 后会变成 10+E*** 的, 
    看看是不是这个原因了.一般写这种的sql 语句, 最好是用参数方法来拼 sql 语句了.
      

  7.   

    看来问题肯定是出在sql语句上了,可是这句代码应该怎么写呢?用 select* from Mod 时程序完全没错误
      

  8.   

    那就试试
    tempnumber=Convert.Todouble(number.Substring(0,7));
      

  9.   

    kuya(无知)
    todouble也不行啊,已经试过了
      

  10.   

    换成这样还是报错?
    string connstr = "select * from Mod where start<=1000000 and end>=1000000 ";怎么回事啊?这个问题已经让我抽了整整一包烟了,各位老大救命
      

  11.   

    将 sql 语句在 access 上运行看看.
      

  12.   

    那肯定是你sql语句的问题。打印出来看是什么。是否是对access合法的sql语句。注意:
    字段类型匹配,宽度匹配等事项