初学者的问题.请问以下语句该如何修改?(parambyname....这一句)(50分)

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

Unregistered / Unconfirmed
GUEST, unregistred user!
with ADOQuery1 DO
begin
Close;
SQL.Clear;
SQL.Add('select * ');
SQL.Add('from post.DMK ');
SQL.Add('WHERE YM=:name');
ParamByName('name').AsString:=Edit1.Text; //这一句不行,为什么?怎么改?
Prepare;
try
Open;
Except
ExecSQL;
end;
 
Parameters.ParamByName('name').value:=Edit1.Text
 
Parameters.ParamByName(.....)
 
什么意思?和我的没分别啊?
 
with ADOQuery1 DO
begin
Close;
SQL.Clear;
SQL.Add('select * ');
SQL.Add('from post.DMK ');
SQL.Add('WHERE YM=:name');
Parameters.ParamByName('name').AsString:=Edit1.Text; //这样改
Prepare;
try
Open;
Except
ExecSQL;
end;
 
这样不更好吗? 为什么要参数?
with ADOQuery1 DO
begin
Close;
SQL.Clear;
SQL.Add('select * ');
SQL.Add('from post.DMK ');
SQL.Add('WHERE YM='''+edit1.text+'''');
///////////ParamByName('name').AsString:=Edit1.Text; //这一句不行,为什么?怎么改?
Prepare;
try
Open;
Except
ExecSQL;
end;
 
SQL.Add('from post.DMK ');
post是database 還是table.
如果是database則上句應為
SQL.Add('from post..DMK ');
 
谢谢大家.可是...
Parameters.ParamByName('name').AsString:=Edit1.Text; //这样改
提示ASSTRING没有定义.怎么办?
 
还有ADOQUERY没有Prepare吗?那用其他什么,还是不需要?
 
Parameters.ParamByName('name').value:=Edit1.Text
 
Prepare需要
 
张剑波大虾:加Prepare编译通不过?怎么办?
 
是不是query控件 的REQUESTLIVE属性为FALSE?
将其设为TRUE.这样才能写数据.
 
没有REQUESTLIVE属性啊?
 
adoquery没Prepare吗?加了为什么编译通不过?怎么办?
 
妈的这样简单的语句还要这样干嘛!!!
SQL.Add('WHERE YM='''+Edit1.Text+'''');
这样不就好了吗?
 
adoquery1.Prepared:=true;
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
928
SUNSTONE的Delphi笔记
S
后退
顶部