ADOQuery1.sql.Text:='SELECT * FROM Subsidy_Print WHERE type = 1 AND C_name='+''+Edit1.Text+''+'AND grade='+Edit2.Text+'';我想执行一个数据库查询,这个格式有错误,请问应当如何写,我是才学delphi 对他的语法不熟 ,主要是符号(单引号)的问题(与C++差别太大了)。谢谢帮忙了

解决方案 »

  1.   

    ADOQuery1.sql.Text:='SELECT * FROM Subsidy_Print WHERE type ='''+'1'+'''  AND C_name='''+Edit1.Text+''' AND grade='''+Edit2.Text+'''';
    注意空格
      

  2.   

    ADOQuery1.sql.Text:='SELECT * FROM Subsidy_Print WHERE type = 1 AND C_name='''+Edit1.Text+'''AND grade='+Edit2.Text+';
    如果字符串中含有单引号,就用两个单引号表示一个单引号
      

  3.   

    如果字符串中含有单引号,Delphi中为了区分字符串的起止符,就用两个单引号表示一个单引号
    检查错误的方法:开始,结束,两个“+”中间的单引号的个数都应该偶数
      

  4.   

    如果是字符串字段的就要在SQL内加单引号,整形的不要加。