SELECT * FROM TEST1 WHERE XM=‘张三’‘张三’处有问题,这处应为变量。

解决方案 »

  1.   

    query.sql.clear;
    query.sql.add('select * from test1 where xm=''张三''');
      

  2.   

    vl_str:='张三';
    query.sql.add('select * from test1 where xm='''+vl_str+'''');
      

  3.   

    与变量没有关系。select * from test1 where xm='zhangshan'这样的情况可以查到相应的值,我估计是中文字符无法识别的原因。请高手明白。
      

  4.   

    我使用的是ORACLE提供的ADO引擎。可能是这个引擎不支持中文字符,请有这方面类似的情况出现过的高手指点。
      

  5.   

    Query2->SQL->Clear();
    Query2->SQL->Add("'select * from test1 where xm=:aaa");
    Query2->Params->Items[0]->AsString = "张三";
    Query2->ExecSQL();
      

  6.   

    检查客户段的NLS_LANG与数据库是否一致
      

  7.   

    也不应该啊,在sql plus中能正常显示
    那还是程序的问题
      

  8.   

    1、 adoquery1.sql.clear;
        adoquery1.sql.add('select * from test1 where xm=''张三''');
        adoquery1.open;
    2、 注意字符串的空格