1

我有一个名为 dissumbio 的存储过程,这将返回一些值

现在我想在我的 asp.net 程序中调用它,返回值应该显示在我的文本框中

我的代码如下

Dim admdate As String

admdate = Mid(txtadmdate.Text, 4, 2) + "/" + Left(txtadmdate.Text, 2) + "/20" + Right(txtadmdate.Text, 2)

Dim cmd As New SqlCommand
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.AddWithValue("@strId", txthospno.Text)
cmd.Parameters.AddWithValue("@strfromdate", admdate)

cmd.Connection = sqlConn2
cmd.CommandType = CommandType.Text
cmd.ExecuteNonQuery()

这是arjent,请帮忙

提前致谢

舒巴

4

2 回答 2

1

ExecuteNonQuery 将只重新运行受影响的行数......所以在你的情况下,如果你的存储过程返回一个值,你必须使用`

Dim cmd As New SqlCommand
cmd.CommandType = CommandType.StoredProcedure
cmd.Parameters.AddWithValue("@strId", txthospno.Text)
cmd.Parameters.AddWithValue("@strfromdate", admdate)

cmd.Connection = sqlConn2
sqlConn2.Open()
value= Convert.ToInt32(cmd.ExecuteScalar())

`

于 2012-10-26T10:00:02.870 回答
0

如果您需要检索数据,您应该使用ExecuteReader而不是ExecuteNonQuery

请看这篇关于 执行返回行的存储过程的文章

Dim sqlConnection1 As New SqlConnection("Your Connection String")
Dim cmd As New SqlCommand
Dim reader As SqlDataReader

cmd.CommandText = "StoredProcedureName"
cmd.CommandType = CommandType.StoredProcedure
cmd.Connection = sqlConnection1

sqlConnection1.Open()

reader = cmd.ExecuteReader()
' Data is accessible through the DataReader object here.

sqlConnection1.Close()
于 2012-10-26T09:59:30.560 回答