我在做一个小软件时,在数据库方面我用了query组件来进行查询。我创建了一个query组件。并设置了以下的属性 databasseName 为lywg(我的数据库别名); SQL为“ select * from 设备告警表 where 设备名=:A”(设备告警表为一个数据库名 ,设备名是这个数据库中的一个字段)
params 为0-A ,然后我运行我的代码,结果到我的第一句query时就出错了。出错是:“Missing operator or semicolon”,我想可能是语法问题。但我又是第一次用query。就不知道是那里的问题。请大家帮帮。

解决方案 »

  1.   

    query.close;
    query.sql.clear;
    query.sql.add('select ****')
    query.open
      

  2.   

    with query do
      begin
        close;
        sql.clear;
        sql.add('select * from TableName');
        sql.add('  where FieldName='+''''+參數+'''');
        open;
      end;
      

  3.   

    semicolon:分号,知道什么错误了吧 
      

  4.   

    可能是你的sql字符串处理的有问题
      

  5.   

    这个问题非常常见,我一般都用一个STRING变量保存SQL语句,如果出错的话,也可以通过调试非常快的知道哪里出错
    s:='select * from tablename where fieldname= '+'''edit1.text'''';
    sql.add(s);
    open;
    调试时在s:=....行加断点,出错时查看S字符串的内容是不是有问题就行了。