| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 570 人关注过本帖
标题:存储过程返回值问题
收藏  订阅  推荐  打印 
wuhongyao3
Rank: 2
等级:注册会员
帖子:149
积分:1646
注册:2006-4-18
存储过程返回值问题

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
            Cmd.CommandType = CommandType.StoredProcedure
            Cmd.CommandText = "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-1-22 12:32
doughty
Rank: 3Rank: 3
等级:中级会员
帖子:344
积分:3838
注册:2007-10-18

OUTPUT是在定义的,,
在VS里
SqlParameter par2 = new SqlParameter("@UID", SqlDbType.Int, 4);
par2.Direction = ParameterDirection.Output;
  Cmd.Parameters.Add(par2 )
OK!
2008-1-23 09:10
wuhongyao3
Rank: 2
等级:注册会员
帖子:149
积分:1646
注册:2006-4-18

恩,可以了。。谢谢您。

2008-2-21 14:31
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.056557 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved