定义变量s,sql为string类型,s为函数参数,sql:='select field1 from table1 where'+s;运行时s赋值为id>7或者id<7、id=7,但是运行时总是出错,请各位帮我改错,多谢!

解决方案 »

  1.   

    showMessage(sql)下看看sql:='select field1 from table1 where '+s;
    有可能where后边要加个空格
      

  2.   

    字符串连在一起了,运行时SQL的值='select field1 from table1 whereid>7'。要在where后面加一个空格字符,就会变成:'select field1 from table1 where id>7',其实2楼说得很明白啦,自己调试下嘛
      

  3.   

    sql:='select field1 from table1 where'+s
    这样写不太好吧
    改成这样试一试:
    sql:='select field1 from table1';
    if (条件) then
    sql:=sql+'where id>7';
    if (条件) then
    sql:=sql+'where id<7';
    if (条件) then
    sql:=sql+'where id=7';新手回答问题,见笑了!
      

  4.   

    showMessage(sql)下看看要不把错误贴上来!
      

  5.   

    可能是空格的原因,改成
    sql:='select field1 from table1 where '+s
    最好养成习惯,在字符相加前,都预留下空格。
    楼主最好把错误提示也贴出来,更容易判断错误原因。
      

  6.   

    要学会自己调试才,把SQL打印出来,复制到SQL 查询分析器里执行一下就知道是什么错了。查询分析器执行通来,程序也就能过了
      

  7.   

    顶,一般先在SQLSERVER里调试过,然后再入程序
      

  8.   

    是空格的问题!类似的问题很多,用string赋值sql语句时一定要注意空格问题。