string strsql = "select 单据号,日期,存货编码,存货名称,规格型号,计量单位,计量单位2,入库单价,入库金额,出库件数,出库公斤,出库单价,出库金额,备注 from inout where 年月='200902' and 审核标识='0'";
string strsql = "select 单据号,日期,存货编码,存货名称,规格型号,计量单位,计量单位2,入库单价,入库金额,出库件数,出库公斤,出库单价,出库金额,备注 from inout where 年月='200902'  and 审核标识='0'";
在vs2005 --vc#中仅第二条可以通过编绎,
不知为什么,最近写sql ,总是报错,总是报"第 1 行: ' ' 附近有语法错误。",
而我仔细查也不能查出什么,复制到查询分析器里却能能通过.唉,不知谁能解释一下。

解决方案 »

  1.   

    在“年月='200902'  and”的and之前的空格好像不一样
      

  2.   

    第一句在 and 审核标识='0'前是全角状态下的空格吧?sql里是不允许的~~
      

  3.   

    也许是你第一条语句中 where ‘200902’后面刷选条件的空格用了个 全角的空格! 因为我发现这两条语句只有空格长度好像不一样。
      

  4.   

    这两个语句都没什么问题,你看问题是不是出在别的地方了?还有你的是web程序还是winform的?
      

  5.   

    没有问题
    select 单据号,日期,存货编码,存货名称,规格型号,计量单位,计量单位2,入库单价,入库金额,出库件数,出库公斤,出库单价,出库金额,备注 from inout where 年月='200902' and 审核标识='0'
      

  6.   

    string 年月='200903'
    int i=0;
    select 单据号,日期,存货编码,存货名称,规格型号,计量单位,计量单位2,入库单价,入库金额,出库件数,出库公斤,出库单价,出库金额,备注 from inout where 年月='"+年月+"' and 审核标识='"+i+"'
      

  7.   


    没问题
    string strsql = "select 单据号,日期,存货编码,存货名称,规格型号,计量单位,计量单位2,入库单价,入库金额,出库件数,出库公斤,出库单价,出库金额,备注 from inout where convert(varchar(7),'200902',23)=convert(varchar(7),年月,23) and 审核标识='0' "; 
    string strsql = "select 单据号,日期,存货编码,存货名称,规格型号,计量单位,计量单位2,入库单价,入库金额,出库件数,出库公斤,出库单价,出库金额,备注 from inout where convert(varchar(7),年月,23)=convert(varchar(7),'200902',23)  and 审核标识='0'"; 
      

  8.   

    string strsql = "select 单据号,日期,存货编码,存货名称,规格型号,计量单位,计量单位2,入库单价,入库金额,出库件数,出库公斤,出库单价,出库金额,备注 from inout where convert(varchar(7),年月,23)=convert(varchar(7),'200902',23) and 审核标识='0' "; 
    string strsql = "select 单据号,日期,存货编码,存货名称,规格型号,计量单位,计量单位2,入库单价,入库金额,出库件数,出库公斤,出库单价,出库金额,备注 from inout where convert(varchar(7),年月,23)=convert(varchar(7),'200902',23)  and 审核标识='0' "; 
      

  9.   

    谢谢.是在“年月='200902'  and”的and之前的空格好像不一样 ,第一条用全角的空格.
    谢谢你们,真的感激你啊.
    如果没有CSDN,我真的没办法.
    再一次感谢楼上的老师们.