在线请教!调用存储过程时返回空值!
各位大侠!请不惜赐教!菜鸟感激不尽!
在调用存储过程时,即使直接给存储过程的输入参数赋值,输出也是空值!而直接在sqlserver里的查询发分析起下做查询时!能得到正确结果!
附1:存储过程:CREATE PROCEDURE CountTotal
(
@StuProfession varchar,
@StuClass varchar,
@CourseName char ,
@Count int output
)
AS
select count (*) from TB_StudentScore
where StuProfession=@StuProfession and StuClass=@StuClass and CourseName=@CourseName and Memo!=' 代考 ' and Memo!='缺考' and Memo!='舞弊'
GO
附1:在vs下调用存储过程:
Dim str1, str2, str3 As String
Dim SummaryScore As Integer
Dim cmd1 As New SqlCommand
cmd1.Connection = sqlconn
cmd1.CommandText = "CountTotal"
cmd1.CommandType = CommandType.StoredProcedure
Dim TempParam11, TempParam22, TempParam33, TempParam44 As SqlParameter
TempParam11 = New SqlParameter("@StuProfession", SqlDbType.VarChar, 40)
TempParam11.Value = "自本" 'DropDownList9.SelectedItem.Text
cmd1.Parameters.Add(TempParam11)
TempParam22 = New SqlParameter("@StuClass", SqlDbType.VarChar, 10)
TempParam22.Value = "001" ' DropDownList10.SelectedItem.Text
cmd1.Parameters.Add(TempParam22)
TempParam33 = New SqlParameter("@CourseName", SqlDbType.Char, 10)
TempParam33.Value = "过程控制与系统理论" '" '" & TextBox1.Text & "'"
cmd1.Parameters.Add(TempParam33)
TempParam44 = New SqlParameter("@Count", SqlDbType.Int, 4)
TempParam44.Direction = ParameterDirection.Output
cmd1.Parameters.Add(TempParam44)
cmd1.ExecuteNonQuery()
' TextBox12.Text = cmd1.Parameters("@Count").Value.ToString()
'total= cmd1.Parameters("@Count").Value 为某一班级某一课程能参与算平均分的总人数
另外我直接在查询分析器里面作sql查询是是能的到正确的结果的!