我有一个存储过程,用delphi6.0企业版开发程序前台调用后台sqlserver数据库,比如存储过程名称为:p_abc,其代码如下:alter procedure p_abc
@id int
as
begin
if @id=0
begin
declare @t table(ID int,amount int)
insert into @t select 1,40000
raiserror('dd',16,1)
return 1 end
end我发现一个问题,我在前台调用时,我用的控件是:TADOCommand,前台代码如下:
ADOCommand1.Parameters.Refresh;
ADOCommand1.Parameters.ParamValues['@id']:=0;
ADOCommand1.Execute;执行没有任何提示。要想提示,只能把存储过程的“insert into @t select 1,40000”代码去掉,就可以提示。
如果把Tadocommand改为TADODataSet时(保留存储过程的“insert into @t select 1,40000”代码),前台代码如下 :
ADODataSet1.Parameters.Refresh;
ADODataSet1.Parameters.ParamValues['@id']:=0 ;
ADODataSet1.Open;就可以在前台显示,但如果我要用Tadocommand时,如何做呢?
@id int
as
begin
if @id=0
begin
declare @t table(ID int,amount int)
insert into @t select 1,40000
raiserror('dd',16,1)
return 1 end
end我发现一个问题,我在前台调用时,我用的控件是:TADOCommand,前台代码如下:
ADOCommand1.Parameters.Refresh;
ADOCommand1.Parameters.ParamValues['@id']:=0;
ADOCommand1.Execute;执行没有任何提示。要想提示,只能把存储过程的“insert into @t select 1,40000”代码去掉,就可以提示。
如果把Tadocommand改为TADODataSet时(保留存储过程的“insert into @t select 1,40000”代码),前台代码如下 :
ADODataSet1.Parameters.Refresh;
ADODataSet1.Parameters.ParamValues['@id']:=0 ;
ADODataSet1.Open;就可以在前台显示,但如果我要用Tadocommand时,如何做呢?
解决方案 »
- 应用程序的登录窗体 应该写在什么地方——————在线等待!!!!急急急急!!!
- DBGrid 显示内容如何导入 Excel
- d5+access下粗难问题:急求5列中去掉最大数和最小数后,剩余3个数的平均值的sql语句(越简单越好)?
- 超级神奇郁闷问题!!!!!关于扫描仪编程。
- 请问有关数据库三层架构的问题
- 怎样将汉字变成十六进制,然后能反过来变成汉字???我搜过,没答案??
- 为什么delete ACCESS数据库内容时这么慢
- 请问在delphi中如何将控制面板中区域选项中的日期中的短日期格式设置为"yyyy-mm-dd"?
- 请问如何实现winXP风格的窗体,现在很多软件都实现了这种效果的,是使用什么控件么?
- 哪儿有ehlib 2.0汉化版下载?
- ado状态的问题?
- 这么样可以让窗口一打开就最小化呢?
你可以通过return不同的整型值来判断是否有错误发生,而不用raisError