QUERY查询小问题 ( 积分: 100 )

  • 主题发起人 主题发起人 wqhatnet
  • 开始时间 开始时间
W

wqhatnet

Unregistered / Unconfirmed
GUEST, unregistred user!
query1.SQL.Clear;
query1.SQL.add('select a,b from abc.db where c=6062 and 新款=true');
Query1.open;
出现了"TYPE mismatch in Expression"错误!
怎么回事?
 
C 是啥类型的

新款又是啥类型的

啥数据库
 
6062是否字符!?
如果是字符好像不能如此
 
query1.SQL.Clear;
query1.SQL.add('select a,b from abc.db where c='6062' and 新款=true');
Query1.open;
 
SKYROOM007的可以了
问题是如果换成:
query1.SQL.Clear;
query1.SQL.add('select a,b from abc.db where c=edit1.text and 新款=true');
Query1.open;
这样也不行,怎么办?
 
query1.SQL.Clear;
query1.SQL.add('select a,b from abc.db where c=:c and 新款=true');
QUERY1.ParamByName('C').asstring:=edit1.text;
Query1.open;
动态赋值好了
 
query1.SQL.Clear;
query1.SQL.add('select a,b from abc.db where c='''+edit1.text+''' and 新款=true');
Query1.open;
 
同意kaida的写法
 
在拼写SQL时,要对字符串加上引号。在Delphi里''=SQL里的'
query1.SQL.Clear;
query1.SQL.add('select a,b from abc.db where c='''+edit1.text+''' and 新款=1);
Query1.open;
 
類型不匹配,看看各個類型
 
呵呵,是类型错误呀。
老兄,
query1.SQL.add('select a,b from abc.db where c=edit1.text and 新款=true');
中的'edit1.text'和edit1.text不一样哟[:D]注意引号和空格(少一个也不成)
query1.SQL.add('select a,b from abc.db where c='+''''+edit1.text+''''+' and 新款=true');
注意:SQL中('''')相当(')
 
我同意kyroom2007的方法,这种写法较不易出错.
query1.SQL.Clear;
query1.SQL.add('select a,b from abc.db where c=:c and 新款=true');
QUERY1.ParamByName('C'l.value:=edit1.text;
Query1.open;
 
兄弟们真热情
我已经大功告成了

var
abc,efg:string;
list:TStrings;
begin
list:=Tstringlist.Create;
////////////////////////////////////
IF CBXDH.Checked=TRUE THEN
IF EDITDH.Text<>'' THEN LIST.Add('厂内单号='+''''+EDITDH.TEXT+'''');

IF CBXCNXH.Checked=TRUE THEN
IF EDITCNXH.Text<>'' THEN LIST.Add('厂内型号='+''''+EDITCNXH.TEXT+'''');

EFG :=StringReplace(list.text,#13#10,' AND ',[rfReplaceAll]);
efg:=copy(efg,1,length(efg)-5);
//////////////////////////////////////
abc:='select * from abc.db where '+efg;//+'客户名称=''多尔康''';
edit1.Text:=abc;
aform1.Query1.SQL.Clear;
aform1.Query1.SQL.add(abc);
aform1.Query1.open;

LIST.Free;
end;
 
多人接受答案了。
 

Similar threads

A
回复
0
查看
945
Andreas Hausladen
A
A
回复
0
查看
823
Andreas Hausladen
A
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部