初学DELPHI,大家来帮帮我~~~~

如风 2006-07-14 09:15:50
if combobox1.Text='wap' then
Str_database:='wap_Info';
if combobox1.Text='彩信' then
Str_database:='mms_Info';
if combobox1.Text= '彩铃' then
Str_database:='cl_Info';
if combobox1.Text='支持GPRS和MMS' then
Str_database:='gprs_Info';

with DataModule1.ADOQuery1 do
begin
close;
SQL.Clear ;
SQL.Add('select tqhm_tmp.hm,tqhm_tmp.grant_date,:#a,:#b from tqhm_tmp, :#c where tqhm_tmp.hm=:#d');
Parameters.ParamByName('#a').Value := Str_database + '.pp';
Parameters.ParamByName('#b').Value := Str_database + '.qydm';
Parameters.ParamByName('#c').Value := Str_database;
Parameters.ParamByName('#d').Value := Str_database + '.hm';
open;
end;
当运行到open时,弹出一个"必须声明'@p3'变量"的错误,我哪有用什么P3,大家帮帮忙!!
...全文
82 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
erhan 2006-07-15
  • 打赏
  • 举报
回复
@p3即是你的#c,ado会把你的几个参数依次转换为@p1,@p2,@p3,@p4然后传递给数据库
应该是sql里的表名不支持参数形式传递导致的错误

你的程序可以改成
SQL.Add('select a.hm,a.grant_date,b.pp,b.qydm from tqhm_tmp as a,' + Str_database + ' as b where a.hm=b.hm');

2,496

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 数据库相关
社区管理员
  • 数据库相关社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧