注册 登录
编程论坛 SQL Server论坛

存储过程返回值问题

wuhongyao3 发布于 2008-01-22 12:32, 2019 次点击
ALTER procedure [dbo].[CategoryInsert]
    @CategoryName nvarchar(50),
as
begin
       insert into Category(CategoryName,Active)values(@CategoryName,'true')
            return @@identity
end

看看我的存储过程,最后返回  return @@identity,指的是最近增加的一条记录的CategoryID(他是自增类型)
Category表中包含  CategoryID,CategoryName,Active,其中CategoryID,是自增型变量


但是我在vs中,应该怎么获取这个值呢,是不是这个存储过程中还需要定义一个output变量呢
看看我vs中的方法,,在这个方法中,我要取得新增加的这个值,应该怎么做。。

Public Function RunCategoryInsert(ByVal ConnectStr As String, ByVal CategoryName As String, ByVal Active As Boolean) As String
        Try
            Me.Open(ConnectStr)
            Cmd = New SqlCommand()
            Cmd.Connection = Conn
             = CommandType.StoredProcedure
             = "CategoryInsert"
            Cmd.Parameters.Add("@CategoryName", SqlDbType.VarChar)
            Cmd.Parameters("@CategoryName").Value = CategoryName
            Cmd.ExecuteNonQuery()
        Catch ex As Exception
            Throw ex
        Finally
            Me.Close()
        End Try
    End Function
这个方法中,我应该取得一个  刚才增加的  CategoryID的值,,这个应该怎么得到啊 ,急用。谁知道啊。。。。

给我留下言,我吃饭回来看啊,现谢谢啊。。。
2 回复
#2
zlhgo2008-01-27 16:52
ALTER procedure [dbo].[CategoryInsert]
    @CategoryName nvarchar(50),
as
begin
       insert into Category(CategoryName,Active)values(@CategoryName,'true')
        Seleclt   @@identity  AS AA
end

这样的话在程序中好像能获取到。但是存储过程调用存储过程 就不能获取返回值
#3
kevintang2008-02-14 16:34
return @@identity
1