标题:存储过程返回值问题
只看楼主
wuhongyao3
Rank: 1
等 级:新手上路
帖 子:202
专家分:0
注 册:2006-4-18
 问题点数:0 回复次数:2 
存储过程返回值问题
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的值,,这个应该怎么得到啊 ,急用。谁知道啊。。。。

给我留下言,我吃饭回来看啊,现谢谢啊。。。
搜索更多相关主题的帖子: 返回值 CategoryName identity 变量 CategoryID 
2008-01-22 12:32
doughty
Rank: 1
等 级:新手上路
帖 子:372
专家分:0
注 册:2007-10-18
得分:0 
OUTPUT是在定义的,,
在VS里
 SqlParameter par2 = new SqlParameter("@UID", SqlDbType.Int, 4);
par2.Direction = ParameterDirection.Output;
  Cmd.Parameters.Add(par2 )
OK!
2008-01-23 09:10
wuhongyao3
Rank: 1
等 级:新手上路
帖 子:202
专家分:0
注 册:2006-4-18
得分:0 
恩,可以了。。谢谢您。

2008-02-21 14:31



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-198286-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.252015 second(s), 7 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved