var tmpquery:tstoredproc;
begin
tmpquery.Close;
tmpquery.StoredProcName:='ImpBudgetById';
tmpquery.Params.Clear;
tmpquery.Params.CreateParam(ftinteger,'gsetid',ptinput);
tmpquery.Params.CreateParam(ftinteger,'gyear',ptinput);
tmpquery.Params.CreateParam(ftinteger,'gmainid',ptinput);
tmpquery.ParamByName('gsetid').AsInteger:= gsetid;
tmpquery.ParamByName('gyear').AsInteger:= gyear;
tmpquery.ParamByName('gmainid').AsInteger:= conversion; try
//tmpquery.Prepare;
//tmpquery.ExecProc;
tmpquery.ExecSQL;
except
on E:Exception do
begin
MessageDlg('查询数据错误!原因为:'+char(13)+char(10)+E.Message,MtError,[mbok],0);
writelog('unt_budgetexporimp',selectsql,pchar(E.Message));
end;
end;
end;
begin
tmpquery.Close;
tmpquery.StoredProcName:='ImpBudgetById';
tmpquery.Params.Clear;
tmpquery.Params.CreateParam(ftinteger,'gsetid',ptinput);
tmpquery.Params.CreateParam(ftinteger,'gyear',ptinput);
tmpquery.Params.CreateParam(ftinteger,'gmainid',ptinput);
tmpquery.ParamByName('gsetid').AsInteger:= gsetid;
tmpquery.ParamByName('gyear').AsInteger:= gyear;
tmpquery.ParamByName('gmainid').AsInteger:= conversion; try
//tmpquery.Prepare;
//tmpquery.ExecProc;
tmpquery.ExecSQL;
except
on E:Exception do
begin
MessageDlg('查询数据错误!原因为:'+char(13)+char(10)+E.Message,MtError,[mbok],0);
writelog('unt_budgetexporimp',selectsql,pchar(E.Message));
end;
end;
end;
解决方案 »
- 为什么的我Delphi程序在英文操作系统下,录入不了中文呀,急急急
- 用ADO连接ACCESS数据库时跟我要用户和密码,我的数据库就设置了密码,没有用户啊,请问怎么连???
- 请问如何获得文件的创建时间,修改时间以及创建作者等信息
- 网络通信问题(兄弟有300多分,顷囊相送了)
- 分字符串的问题
- 请subzero来拿分.
- 100请教各位大侠:这个SQL怎么写???
- 急!!关于dbgrid多行显示的问题
- 反复试过,还是不行!!!DBGRID到底是怎么了???请问有那为大侠以前解决过这些问题?
- 发现Delphi封装性的一个问题,在同一个Unit中,无封装可言!!!!!!!!!!!!!!!!!
- 怎么DBEDIT会这样?
- 字符串转换的问题
var tmpquery:tstoredproc;
begin
tmpquery:=tstoredproc.create(self);
tmpquery.DatabaseName := Session.Databases[0].DatabaseName;
tmpquery.Close;
tmpquery.StoredProcName:='ImpBudgetById';
tmpquery.Params.Clear;
tmpquery.Params.CreateParam(ftinteger,'gsetid',ptinput);
tmpquery.Params.CreateParam(ftinteger,'gyear',ptinput);
tmpquery.Params.CreateParam(ftinteger,'gmainid',ptinput);
tmpquery.ParamByName('gsetid').AsInteger:= gsetid;
tmpquery.ParamByName('gyear').AsInteger:= gyear;
tmpquery.ParamByName('gmainid').AsInteger:= conversion; try
//tmpquery.Prepare;
//tmpquery.ExecProc;
tmpquery.ExecSQL;
except
on E:Exception do
begin
MessageDlg('查询数据错误!原因为:'+char(13)+char(10)+E.Message,MtError,[mbok],0);
writelog('unt_budgetexporimp',selectsql,pchar(E.Message));
end;
end;
end;执行后出现错误,general sql error,ora-06550,第一行,第七列,pls-00201,必须说明标识符:ImpBudgetById,ImpBudgetById是oracle中存储过程的名字,我用pl/sql测试过的,没问题啊,可是用delphi怎么会出错?
tmpquery.ExecProc; //tmpquery.ExecSQL; 这行去掉
反正我一直是这样tmpquery.ExecProc 来执行存贮过程的,呵呵