DELPHI中使用存储过程的问题(50分)

  • 主题发起人 主题发起人 张力
  • 开始时间 开始时间

张力

Unregistered / Unconfirmed
GUEST, unregistred user!
在SQL7.0重创建一存储过程,内容为Update Table1 set clo1='asas',在SQL7.0
Query Analyzer中执行可达到预期目的,但在DELPHI中调用当激活存储过程后
系统提示“Error Creating Cursor handle”,似与游标有关。该如何解决。执行
Delete Insert都有以上问题。但执行Select 没有问题,请问是什么原因。
 
Query.ExecSQL
而不是
Query.Open 或者 Query.Active:=true
 
就是这样,用ExecSQL,UpDate命令的时候也是
 
PiPi我指的是存储过程编程,服务器端的操作。
 
难道DELPHI中就不能使用带修改性质的存储过程(如delete insert update )。
为什么select 可以.
 
hmwg,wangjb我在delphi中使用query执行insert update,delete
均能顺利执行,而且都能达到目的,为什么你们说跟存储过程一样不幸呢?
是否版本不一,我使用DELPHI5.0.
 
>>Update Table1 set clo1='asas'
-->
Update Table1 set clo1=''''+'asas'+''''
 
可以看看SQL Server对你的权限设置,是否能进行Inser或delect操作
 
结束自动加分讨论吧,是不是!
 
一个很EASY的问题,为什么说的乱七八糟。

StoredProc1.Params[0].AsString := Edit1.Text;
StoredProc1.Prepare;
StoredProc1.ExecProc;
 
同意zhuny的,用StoredProc1.ExecProc,别用StoredProc1.Open就可以了
 
zhuny说得对!StoredProc1.ParamByName[proname].Value也行.
 
我给各位总结一下:
首先在数据库中建立存储过程xxx,按照你的提法好象可写为(我现在网吧,无开发环境)
create storeprocdure dbo.xxx (@clo1 char(40))
as
Update Table1 set clo1=@clo1

delphi窗体上放入StoredProc1,指定好它的数据库存储过程名,记住要把名称后面的‘;1’
删除;然后进入它的Params集合下,清空然后新增一个,选择参数名为‘clo1’,指定为
string类型input型参数;然后在程序的执行过程里写入如下代码
StoredProc1.ParamByName['clo1'].Value:= 'asas'; //写入参数
StoredProc1.Prepare;
StoredProc1.ExecProc; //执行存储过程
 
多人接受答案了。
 
后退
顶部