我的delphi中用如下代码对数据表PYDM中接PYDM字段进行模糊查询,不出结果,请问什么原因?代码如下:
procedure TForm1.Edit1Change(Sender: TObject);
var
s1:string;
i:integer;
begin
s1:=Trim(edit1.text);
for i:=0 to length(s1)-1 do
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select BM,MC,PYDM,LB from PYDM,KC0');
Query1.SQL.Add('where PYDM LIKE :x AND PYDM.BM=KC0.KCBM ');
Query1.Params[0].Value:='s1'+'%';
Query1.Open;
Listbox1.Items.Clear;
while not Query1.Eof do
begin
ListBox1.Items.Add(Query1.fieldbyname('BM').asstring+' '+Query1.fieldbyname('MC').asstring);
query1.Next;
end;
Query1.Close;
end;
end;
procedure TForm1.Edit1Change(Sender: TObject);
var
s1:string;
i:integer;
begin
s1:=Trim(edit1.text);
for i:=0 to length(s1)-1 do
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add('Select BM,MC,PYDM,LB from PYDM,KC0');
Query1.SQL.Add('where PYDM LIKE :x AND PYDM.BM=KC0.KCBM ');
Query1.Params[0].Value:='s1'+'%';
Query1.Open;
Listbox1.Items.Clear;
while not Query1.Eof do
begin
ListBox1.Items.Add(Query1.fieldbyname('BM').asstring+' '+Query1.fieldbyname('MC').asstring);
query1.Next;
end;
Query1.Close;
end;
end;
解决方案 »
- 急:请各位大虾来帮帮忙,看看是什么错误,发生错误的原因2天了,没搞明白,谢谢各位!!!在线等
- 在线诚等,求一问题的解决方法!
- 急救!关于Dll方面的疑问:装载了dll后,直接关闭主程序会报错...(不够可以再加)
- 一个关于S/C连接的问题!
- (100分)delphi怎么报表输出为pagemaker
- 救命啊,这个DLL怎么在Delphi里面用,???
- 我自己编的“记事本”有点问题,SOS~~
- onEnter事件是什么意思?在什么情况下触发的啊?
- TQuery的小问题
- 使用過 devExpress 控件組中TdxDBGrid 控件的朋友,進來看一下好碼!
- Delphl7有补丁么??
- DirectX非全屏的问题
var
s1:string;
i:integer;
begin
s1:=Trim(edit1.text);
// for i:=0 to length(s1)-1 do
// begin
if sl = '' then exit;
Query1.Close;
Query1.SQL.Clear;
// Query1.SQL.Add('Select BM,MC,PYDM,LB from PYDM,KC0');
// Query1.SQL.Add('where PYDM LIKE :x AND PYDM.BM=KC0.KCBM ');
// Query1.Params[0].Value:='s1'+'%';
Query1.SQL.Text := 'Select BM,MC,PYDM,LB from PYDM,KC0 '
+ 'Where PYDM.PYDM Like ''' + sl + '%'' AND PYDM.BM=KCO.KCBM';
Query1.Open;
Listbox1.Items.Clear;
while not Query1.Eof do
begin
ListBox1.Items.Add(Query1.fieldbyname('BM').asstring+' '+Query1.fieldbyname('MC').asstring);
query1.Next;
end;
Query1.Close;
// end;
end;
var
s1:string;
i:integer;
begin
s1:=Trim(edit1.text);
for i:=0 to length(s1)-1 do
begin
Query1.Close;
Query1.SQL.Clear;
Query1.SQL.Add(format('Select BM,MC,PYDM,LB from PYDM,KC0
where PYDM LIKE ''%s%%'' AND PYDM.BM=KC0.KCBM',[sl]));
Query1.Open;
Listbox1.Items.Clear;
while not Query1.Eof do
begin
ListBox1.Items.Add(Query1.fieldbyname('BM').asstring+' '+Query1.fieldbyname('MC').asstring);
query1.Next;
end;
Query1.Close;
end;
end;
应该为:Query1.Params[0].Value:=s1+'%';