with use do//这一行不能通过
begin //少一个begin;
close;
use.sql.clear;
use.sql.add('select * from type');
use.sql.add('where type = edit1.text');
use.execsql;
end; //少一个end;
end;
begin //少一个begin;
close;
use.sql.clear;
use.sql.add('select * from type');
use.sql.add('where type = edit1.text');
use.execsql;
end; //少一个end;
end;
close;你上面这句话代表这个with语句已经结束。这样写不对,楼上的那个写得就没错了。不过最后一句应该是sql.open
begin
close;
form2.use.sql.clear;
form2.usesql.add('select * from type');
form2.use.add('where type = edit1.text');
fomr2.use.execsql;
end;你的FORM2是动态创建的USE属于FORM2,要在程序里面指明
var
form2: TForm2;
begin
form2:=TForm2.Create(Self);
form2.ShowModal;
form2.Free;
end;
begin//use是adoquery//假如上面的动态创建窗体代码不写进去,下面就通过,如果写了,就提示[Error] Unit1.pas(42): Undeclared identifier: 'use',我已经在form1的uses里面写上unit2了,是不是还需要做什么工作
with use do//这一行不能通过
close;
use.sql.clear;
use.sql.add('select * from type');
use.sql.add('where type = edit1.text');
use.execsql;
end;
真是毛病多多啊;
----------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var
form2: TForm2;
begin
form2:=TForm2.Create(Self);
with form2 do
begin
with use do
close;
sql.clear;
sql.add('select * from type');
sql.add('where type = '+ #39 + edit1.text + #39);
Open;
end;
form2.ShowModal;
form2.Free;
end;