ADOStoredProc.Parameters.ParamByName('@EmpNextNo').Value
解决方案 »
- 统计问题
- MDIS +DCOM 的问题,知道的请进
- 急急急!!! DBGrid问题,编号,修改
- 请问如何在数组(都是整数)中找出第五大数据的算法(拜谢)
- 请指教CREATE()所代不同参数时的含义?
- 用DELPHI编程,在DBGRID中运行时,有修改和编辑功能,但是表格里的数据一直的可 编辑的,不管你是否选修改和编辑按钮,只要单击单元格,数据都是可编辑的,
- 如何截获SQL Server的系统提示错误,并返回中文提示给用户。
- 如何以事件方式判断连接Internet
- 鼠标的指向问题!
- 一个有些白的问题
- 如何把一个字符串转换成一条命令(如将'frmMain.LabelHistory.Caption= 历史'变为一条frmMain.LabelHistory.Caption:='历史'的语句)
- 一个很easy 的问题!在线等待,立即给分!
操作后,Recordaffected所影响的记录数目。
@rec_aff int Output
在存储过程体中加
set @rec_aff=@@ROWCOUNT在delphi中用
ADOStoredProc.Parameters.ParamByName('@Rec_aff').Value读出来
@ret_var int output
在过程体中加
set @ret_var=@@ROWCOUNT
在delphi中用
ADOStoredProc.Parameters.ParamByName('@ret_var').Value读出
在VB中可不是这样的啊,请大家帮帮我吧,分可以继续加的。。
USE pubs
GO
CREATE PROCEDURE myProc
@outparm int OUTPUT
@inparm int
AS
SELECT * FROM titles WHERE royalty > @inparm
SELECT @outparm = COUNT (*) FROM TITLES WHERE royalty > @inparm
IF (@outparm > 0)
RETURN 0
ELSE
RETURN 99
GOvb:Dim cn As New ADODB.Connection
Dim cmd As New ADODB.Command
Dim rs As New ADODB.Recordset
Dim fldloop As ADODB.Field
Dim param1 As Parameter, param2 As Parameter, param3 As Parameter
Dim provStr As String
Dim royalty As Variant
Private Sub spStart()' Connect using the SQLOLEDB provider.
cn.Provider = "sqloledb"' Specify connection string on Open method.
provStr = "Server=MyServer;Database=pubs;Trusted_Connection=yes"
cn.Open provStr' Set up a command object for the stored procedure.
Set cmd.ActiveConnection = cn
cmd.CommandText = "myProc"
cmd.CommandType = adCmdStoredProc' Set up a return parameter.
Set param1 = cmd.CreateParameter("Return", adInteger, adParamReturnValue)
cmd.Parameters.Append param1
' Set up an output parameter.
Set param2 = cmd.CreateParameter("Output", adInteger, adParamOutput)
cmd.Parameters.Append param2
' Set up an input parameter.
Set param3 = cmd.CreateParameter("Input", adInteger, adParamInput)
cmd.Parameters.Append param3
royalty = Trim(InputBox("Enter royalty:"))
param3.Value = royalty' Execute command, and loop through recordset, printing out rows.
Set rs = cmd.ExecuteDim i As Integer
While Not rs.EOF
For Each fldloop In rs.Fields
Debug.Print rs.Fields(i)
i = i + 1
Next fldloop
Debug.Print ""
i = 0
rs.MoveNext
Wend' Need to close recordset before getting return
' and output parameters.
rs.CloseDebug.Print "Program ended with return code: " & Cmd(0)
Debug.Print "Total rows satisfying condition: " & Cmd(1)
cn.CloseEnd Sub
我昨晚对下句进行了测试,
Select @EmpNextNo = min(empno) From Emp Where empno > @Empno
发现有无合条件的都会返回一个记录。证明@@RowCount是行不通的。所以我只能改变了写法:谢谢(飞飞)(风舞轻扬)