M
mkz
Unregistered / Unconfirmed
GUEST, unregistred user!
按照下面的代码,执行30次(大概)就出现“Too many open table”错误,如果rbTimes.Checked=true 就出现“内存不够”的错误,还有SQL语句改成'select count(hyfl) as hyfl1 from xkz'
多次查询就出现严重错误,而且cpu窗口也弹出来,希望高手指正!
代码:
frmMain.qyKstj.Close;
frmMain.qyKstj.SQL.Clear;
sql_str:='select * from xkz where fsksh="'ks_name;
sql_str:=sql_str+'" and fsxz="'+xz_name;
sql_str:=sql_str+'" and hyfl="摊贩"';
if rbTimes.Checked then
begin
sql_str:=sql_str+' and (fzhrq between :f and :t)';
frmMain.qyKstj.SQL.Add(sql_str);
frmMain.qyKstj.paramByname('f').paramtype := PTInput;
frmMain.qyKstj.ParamByName('f').datatype := ftDate;
frmMain.qyKstj.ParamByName('f').value:=datetostr(tpFrom.Date);
frmMain.qyKstj.paramByname('t').paramtype := PTInput;
frmMain.qyKstj.ParamByName('t').datatype := ftDate;
frmMain.qyKstj.ParamByName('t').value:=datetostr(tpTo.Date);
end
else
frmMain.qyKstj.SQL.Add(sql_str);
frmMain.qyKstj.ExecSQL;
多次查询就出现严重错误,而且cpu窗口也弹出来,希望高手指正!
代码:
frmMain.qyKstj.Close;
frmMain.qyKstj.SQL.Clear;
sql_str:='select * from xkz where fsksh="'ks_name;
sql_str:=sql_str+'" and fsxz="'+xz_name;
sql_str:=sql_str+'" and hyfl="摊贩"';
if rbTimes.Checked then
begin
sql_str:=sql_str+' and (fzhrq between :f and :t)';
frmMain.qyKstj.SQL.Add(sql_str);
frmMain.qyKstj.paramByname('f').paramtype := PTInput;
frmMain.qyKstj.ParamByName('f').datatype := ftDate;
frmMain.qyKstj.ParamByName('f').value:=datetostr(tpFrom.Date);
frmMain.qyKstj.paramByname('t').paramtype := PTInput;
frmMain.qyKstj.ParamByName('t').datatype := ftDate;
frmMain.qyKstj.ParamByName('t').value:=datetostr(tpTo.Date);
end
else
frmMain.qyKstj.SQL.Add(sql_str);
frmMain.qyKstj.ExecSQL;