原来用sql6.5的数据库,可以正常调用存储过程,后升级到sql2000,应用程序(delphi4编译)提示找不到存储过程,在delphi6中用TStoredProc调用带参数的存储过程也同样提示找不到存储过程,但通过TQuery组件可以调用,难道delhpi的 TStoredProc组件不支持sql2000带参数的存储过程?!
谢谢!!
谢谢!!
解决方案 »
- 数据库里的字段内容如何读出?
- 如何通过DELPHI使用摄相头进行拍照
- 鼠标在StringGrid中上下移动,行的蓝色条也跟着移动
- 怎样加上图标?
- 求远程访问数据库的例子和代码!
- 请问查询一个表中所有的列名,用SQL写如何写,急
- ehlib2.4中tdbgrideh使用时的问题,已在delphi6.0装上啦,可用的时候报错........
- 和大家讨论一下数据库编程过程中,怎么样实现增加新记录的功能?大家请。
- 关于TIniFile在线程中使用的问题
- 请问如何将自动运行的程序从Ctrl+Alt+Del和Alt+Tab中隐藏?送分200哟!
- 初学者
- TNMSMTP控件如何实现SMTP认证功能?高手请解答。
你可以试试用tadostoredproc
database1.aliasName:='bb'连接到你的数据库
database1.databaseName:='dd'
stroProc1.DatabaseName:='dd';
StroProc1.StorprocName:='sp_fffff'
var
MyStoredproc:TStoredproc;
p1:TParam;
begin
MyStoredproc := TStoredproc.Create(nil);
MyStoredproc.Name := 'Storedproc1';
MyStoredproc.SessionName := 'Default';
MyStoredproc.DatabaseName := DatabaseName;
MyStoredproc.StoredProcName := StoredprocName;
MyStoredproc.Params.Clear;
p1 := TParam.Create(MyStoredproc.Params,ptInput);
MyStoredproc.Params[0].Name := '@UserID';
MyStoredproc.Params[0].AsInteger := UserID;
MyStoredproc.Active := True;
result := MyStoredproc;
p1.Free;
MyStoredproc.Free;
end;
原来的程序调用存储过程的方法和楼上的差不多,只是将数据库升级到sql2000后才出现用TStoreProc组件找不到存储过程的情况!但通过TQuery组件可以调用存储过程,但这样做的话工作量太大,所以请各位帮帮忙,尽量用TStoreProc来调用,谢谢!!