我有一個vb.net應用程序,它使用應該返回一個值的存儲過程將記錄插入到數據庫表中。這個存儲過程是由其他人設置的,最初被鏈接到一個web服務,我的應用程序通過該web服務進行插入,並在返回的xml中獲取返回值。我現在可以訪問數據庫表,不知道如何在我的vb.net方法中接收返回值。從存儲過程得到沒有輸出參數的返回值
SQl存儲過程片段;
@urlname varchar(500),
@siteid varchar(16),
@origin varchar(50),
@queryid varchar(25)
AS
SET NOCOUNT ON;
declare @cnt int
declare @serverip varchar(16)
declare @mincnt int
declare @siteservercnt int
select @cnt=COUNT(*) from sites
where [email protected]
if @cnt = 0
begin
insert into sites (urlname,siteid,exported,origin,queryid)
values(@urlname,@siteid,1,@origin,@queryid)
select @siteservercnt = COUNT(*) from siteserverip where [email protected]
if @siteservercnt=0
begin
select top 1 @mincnt=COUNT(*),@serverip=serverip from siteserverip
group by serverip
order by COUNT(*)
select top 1 @mincnt=sitecount,
@serverip=serverip from serveripcounts
order by sitecount
insert into siteserverip values(@siteid,@serverip)
update serveripcounts set sitecount=sitecount+1
where [email protected]
end
end
SELECT siteid from sites
where [email protected]
return
和我的vb.net代碼做插入
CommandObj.CommandText = "Getsite"
CommandObj.CommandTimeout = 90
Dim newUrl As String = String.Empty
CommandObj.Parameters.Clear()
Dim m_param As SqlParameter
m_param = CommandObj.Parameters.Add("@urlname", SqlDbType.VarChar, 500)
m_param.Direction = ParameterDirection.Input
m_param.Value = name
m_param = CommandObj.Parameters.Add("@siteid", SqlDbType.VarChar, 16)
m_param.Direction = ParameterDirection.Input
m_param.Value = siteid
m_param = CommandObj.Parameters.Add("@origin", SqlDbType.VarChar, 50)
m_param.Direction = ParameterDirection.Input
m_param.Value = method
m_param = CommandObj.Parameters.Add("@queryId", SqlDbType.VarChar, 25)
m_param.Direction = ParameterDirection.Input
m_param.Value = forumID
Dim recordsAffected As Integer = CommandObj.ExecuteNonQuery
'選擇@MySiteID = SITEID從網站,URLNAME = @UrlName RETURN @ MySiteID' – JonH