我用CString.Format("select ............")做一个sql语句,为啥长度超过154个后,以后的就没有了,求个位救救我.

解决方案 »

  1.   

    CString的长度应该够,是不是sql不支持这么长,或显示长度截取了
      

  2.   

    sql.Format("select sum(编号) as 编号,sum(厂别) as 厂别,成本项目,max(结间) as 结间,max(开间) as 开间,sum(类别) as 类别,round(sum(数量大),3) as 数量大,round(sum(数量小),3) as 数量小 from 进厂原料 where 开间>='%s' and 结间<='%s'  group by 成本项目 order by 编号",dlg.m_tis.Format("%Y-%m-%d"),dlg.m_tie.Format("%Y-%m-%d"));
      

  3.   

    sql.Format("select sum(编号) as 编号,sum(厂别) as 厂别,成本项目,max(结间) as 结间,max(开间) as 开间,sum(类别) as 类别,round(sum(数量大),3) as 数量大,round(sum(数量小),3) as 数量小 from 进厂原料 where 开间>='%%s' and 结间<='%%s'  group by 成本项目 order by 编号",dlg.m_tis.Format("%%Y-%%m-%%d"),dlg.m_tie.Format("%%Y-%%m-%%d"));
      

  4.   

    先看一下dlg.m_tis.Format("%Y-%m-%d")和dlg.m_tie.Format("%Y-%m-%d")的值
      

  5.   

    这个长度应该还没有到吧
    1、试试sql.Format("%s,%s",dlg.m_tis.Format("%Y-%m-%d"),dlg.m_tie.Format("%Y-%m-%d"));
    2、试试sql.Format("select sum(编号) as 编号,sum(厂别) as 厂别,成本项目,max(结间) as 结间,max(开间) as 开间,sum(类别) as 类别,round(sum(数量大),3) as 数量大,round(sum(数量小),3) as 数量小 from 进厂原料 where 开间>='%s' and 结间<='%s'  group by 成本项目 order by 编号","2006-02-01","2006-04-01");看看上面测试的结果,你大概就知道了问题在哪里了。
      

  6.   

    CString SQL="insert into ... ";
    SQL+="...";
    SQL+="...";
    更好看点吧
      

  7.   

    你就是再长10倍,CSTRING也够用
    估计是其它错误吧
      

  8.   

    CString.Format?
    还有这种写去?
    一般都是
    CString strSQL;
    strSQL.Format("..................");
      

  9.   

    那是编译器提示的问题和其他无关.
    你把他TRACE一下这个语句,就可以了.TRACE好象也是在255个字符内
    你可以把变量写进个文件
    然后呢,把变量值放到查询分析器里面分析,很快就可以把问题排除了