见鬼了! (19分)

  • 主题发起人 主题发起人 美国提子
  • 开始时间 开始时间

美国提子

Unregistered / Unconfirmed
GUEST, unregistred user!
with adoqrypfp do
begin
Close;
SQL.Clear;
SQL.Add('select * from pf');
SQL.Add('where No=''001''');
Open;
end;
Access表pf里明明有'001'这条记录,怎么adoqrypfp回是空的
 
SQL.Add('where No='+#39+'001'+#39); ?
 
SQL.Add('where No='001'');
 
SQL.Add(' where No=''001'''); //where前边需要空格

 
SQL.Add('where No=''001''');

 
with adoqrypfp do
begin
Close;
SQL.Clear;
SQL.Add('select * from pf');
SQL.Add('where No=:ANo');
Parameters.ParamByName('ANo').Value:='001';
Open;
end;
通用型,没问题
 
to luoshanliang
哎,竟然也是空的
如下:
procedure TpfEditForm.RBtnPrintClick(Sender: TObject);
var
Str: String;
begin
with adoqrypfp do
begin
Str := DMForm.adoqrypf['No'];
Close;
SQL.Clear;
SQL.Add('select * from pf');
SQL.Add('where No=:ANo');
Parameters.ParamByName('ANo').Value:=Str;
Open;
end;
ppReport.Print;
end;
 
with adoqrypfp do
begin
Close;
SQL.Clear;
SQL.Add('select * from pf');
SQL.Add('where rtrim(ltrim(No))=''001''');
Open;
end;
 
还是不行
 
to美国提子:
我用了你的程序,什么问题也没有。数据能正确返回!
 
可以肯定,不是語句的問題.
找找別的原因.
 
to 美国提子
试试将 SQL.Add('where No=''001''');
改为 SQL.Add('where No="001"');即将两个单引号改为一个双引号
 
字段名称no原来是access本身也用到的,改成其他的如StrNo就好了
 
一场虚惊
:D
 
哈哈,我也碰上过,换成NO1就不会了。
 
SQL.Add('where No=''001''');
我认为这样对:
SQL.Add('where No='''001''');
''代表'

 
多人接受答案了。
 

Similar threads

I
回复
0
查看
337
import
I
I
回复
0
查看
665
import
I
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
后退
顶部