单步调试一下,拿到sql的值,在数据库执行一下,看能否正常执行
对应修改其中的错误

解决方案 »

  1.   

    出错的句子是
    adp.Fill(ds, "[sc]");
    不明白怎么解决
      

  2.   

    这句最后的逗号不要
      string sql = "select [building] as 宿舍楼,[room] as 宿舍号,[electric] as 已用电量,[remainelectric] as 剩余电量 ";
             
      

  3.   

    还是一样的错误
    我在access数据库中运行
    SELECT sc.[ID] as 编号,sc.[building] as 宿舍楼,sc.[room] as 宿舍号,sc.[electric] as 已用电量,sc.[remainelectric] as 剩余电量 FROM sc WHERE sc.[building]="'" ;
    会出现“标准表达式中数据类型不匹配”,会是这个原因吗,还是其他什么
    求解,已经找了好久错误了
      

  4.   

    你式子中的as 编号 这些先不用,building 字段是字符类型? building]="'" 不能等于空吧
    SELECT ID,building,room,electric,remainelectric  FROM sc WHERE building='123 '
      

  5.   

    第一个问题是from 之前,字段之后不要有逗号;
    第二个问题 WHERE sc.[building]="'"    是不是中间多了一个“ ’ ” 号;
    where  sc.building=''  或者where sc.building=""   
    where  sc.building='123' 或者where  sc.building=“123”应该都没问题  希望有帮助
      

  6.   

    还是不行啊,还是一样的错误,说select出错,是我本身程序的错误吗。
    没有其他解决方法了吗
      

  7.   

    where条件里面sc.[building]后面是两个单引号
    SELECT sc.[ID] as 编号,sc.[building] as 宿舍楼,sc.[room] as 宿舍号,sc.[electric] as 已用电量,sc.[remainelectric] as 剩余电量 FROM sc WHERE sc.[building]=''
      

  8.   

    这东西,断点进入,运行到sql字符串赋值完成,直接复制那个sql语句,放到数据库运行,大概就知道那里出问题了
    字符串格式化 最好用string.Format(),直接拼接,很容易漏一个引号什么的