在Button2的Onclick事件为:
query1.RequestLive :=false;
query的结果就不能修改,button1中在设回来也没用,你为什么把
query1.RequestLive设成False呢?
button1中,如果query查询的结果为空呢.
query1.RequestLive在查询前有用,查询后,设置没有用.
query1.RequestLive :=false;
query的结果就不能修改,button1中在设回来也没用,你为什么把
query1.RequestLive设成False呢?
button1中,如果query查询的结果为空呢.
query1.RequestLive在查询前有用,查询后,设置没有用.
RequestLive设置为True。在Button1的Click事件为:
with query1 do
begin
close;
sql.clear;
sql.add(Edit1.Text);
open;
end;运行时,在Edit1里添加Sql语句:
select * from Table1 where Salary_No>='1' and Salary_No<='2' and name like 'sds' and PostalCode like '12' and Units like 'sds' and Area like 'sds' and purchase_product like 'sds' and Quantity like '12' and payment like '12' and Purment_level like '1'
按Button1出现错误:
Could not find object.其实这句Sql语句是没有错的,在Sql Explorer通过了。但是如果把Query1的属性
ResquestLiver设置为False时,按Button1就没有错。由于我的程序的设计要求,要使
Query1既能够查询记录,也能够修改记录,所以一定要把ResquestLiver设置为True时,
但这样做就不能查询记录,只能修改记录。但如果把ResquestLiver设置为false时,
这样就可以解决查询的问题,但不能修改记录。如何做,或者说如果用TQuery,要使
它既能够用SQL语句查询,也能够修改记录,还有什么方法呢?请指教!(如果数据库是用Paradox7,
就不会出现此问题)
procedure TForm1.Button1Click(Sender: TObject);
begin
query1.close;
query1.RequestLive :=True;
query1.open;
query1.Edit;
...
begin
close;
RequestLive:=true;
open;
edit;
query1.FieldByName('aaa').asstring:='sdfgfdsg';
post;
end;