在一个字符串中两个单引号表示一个单引号。
%在SQL语句中表示模糊查询,即:
'12345'
'123456'
'1234567'
三条记录。
如果是where xxx='12345'只能查处一条。
如果是where xxx like '12345%'能查处三条。

解决方案 »

  1.   

    首先在写语句的窗体调用被调用的窗体uses unit
    str:='select * from cssbdk.db where wjgx='''+form1.gwjgx.text+'''';
    加引号是因为sql语句本身的元素除了整型十进制数不要加引号外,其余都需要。DELPHI中对引号的解释是引号需要成对出现,''':表示只有中间的引号是可以被delphi “看见”的,最左边和最右边被解释成标识符。所以delphi 的引号很多。
      

  2.   

    不知道你的问题在哪,0 and all应该为零,是不是你上一句中变量gwjgx与下一句中的值不同?
    sql中'aaa'表示一个字符串,delphi中要加入一个"'"号用:''''即引起两个''号。
    %在sql语句中代表任意字符串,如:like 'a%',表示所有以a开始的纪录。
      

  3.   

    引号的作用:
    假如变量gwjgx的值为“abc”
    则组合后的SQL语句为:
    select a.lxmc,b.sbmc,c.dkmc from sblx.db a,cssb.db b,cssbdk.db c where a.lxbh=b.sblx and b.sbid=c.sbid and c.wjgx='abc';
    而加号则是字符串连接功能。如果有“%”出现,则SQL语句中应该还有Like关键词出现,这是用来SQL查询中模糊查询的,具体请参阅SQL说明书。
      

  4.   

    要引用其它窗体的变量应在implementation语句下面加入Uses Unit(被引用的单元)
    str:='select * from cssbdk.db where wjgx=:gwjgx';
    (:)引用变量
    %在SQL语句中表示模糊查询
    str:='select * from cssbdk.db where wjgx='''+控件的属性但必须是字符串型+''''
      

  5.   

    为什么要用加号呢?'''+ str+'''?