关于使用ADOquery1出现的有关问题
关于使用ADOquery1出现的问题?
偶在DataM数据模块中,加入了一个共用的ADOquery1,还在公共文件pub.pas中做了一个ComBind,和一个GetSql函数,在数据量小的时候没问题,但数据量大时,出现不ADO不明的错误,以及 "异步中不能执行 "....
偶另外做了几个ADOquery1,一个函数用一个ADOquery1后,有时出错,有时不出错..我狂晕....
高人帮看看....谢了..
//取得SQL返回值
function GetSql(Val:string;sqlstr:string):string;
begin
with DataM.q4 do
begin
Close;
sql.Clear;
sql.Add(sqlstr);
Open;
if RecordCount> 0 then
Result :=FieldByName(Val).AsString
else
Result:= ' ';
end
end;
//绑定Combobox数据
procedure ComBind(str:string;comb1:TComboBox;val:string);
begin
try
with Datam.q6 do
begin
close;
sql.Clear;
sql.Add(str);
Open;
if RecordCount> 0 then
while not eof do
begin
comb1.Items.add(FieldValues[val]);
Next;
end;
end
except
end;
end;
------解决方案--------------------
建议少用ADOQUERY 用ADODATASET!
------解决方案--------------------
看上去没啥问题,会不会使用查询的时间过于频密了,或者查询有重复了。
你说共用了一个Adoquery1,但你后面又有q4, q6?
另:骑牛上北京:请问为什么多用AdoDataSet,而少用AdoQuery呢?能详细说说根据吗?
QQ:22165983
------解决方案--------------------
要看你的sql.Add(sqlstr)语句中的sqlstr是什么了,不是所有的sql语句都可以open的.
------解决方案--------------------
偶在DataM数据模块中,加入了一个共用的ADOquery1,还在公共文件pub.pas中做了一个ComBind,和一个GetSql函数,在数据量小的时候没问题,但数据量大时,出现不ADO不明的错误,以及 "异步中不能执行 "....
偶另外做了几个ADOquery1,一个函数用一个ADOquery1后,有时出错,有时不出错..我狂晕....
高人帮看看....谢了..
//取得SQL返回值
function GetSql(Val:string;sqlstr:string):string;
begin
with DataM.q4 do
begin
Close;
sql.Clear;
sql.Add(sqlstr);
Open;
if RecordCount> 0 then
Result :=FieldByName(Val).AsString
else
Result:= ' ';
end
end;
//绑定Combobox数据
procedure ComBind(str:string;comb1:TComboBox;val:string);
begin
try
with Datam.q6 do
begin
close;
sql.Clear;
sql.Add(str);
Open;
if RecordCount> 0 then
while not eof do
begin
comb1.Items.add(FieldValues[val]);
Next;
end;
end
except
end;
end;
------解决方案--------------------
建议少用ADOQUERY 用ADODATASET!
------解决方案--------------------
看上去没啥问题,会不会使用查询的时间过于频密了,或者查询有重复了。
你说共用了一个Adoquery1,但你后面又有q4, q6?
另:骑牛上北京:请问为什么多用AdoDataSet,而少用AdoQuery呢?能详细说说根据吗?
QQ:22165983
------解决方案--------------------
要看你的sql.Add(sqlstr)语句中的sqlstr是什么了,不是所有的sql语句都可以open的.
------解决方案--------------------