【发布时间】:2013-12-03 09:56:31
【问题描述】:
这是我的功能:
Public Function getLocation(ByVal res As String, ByVal tblName As String) As DataTable
Dim command As SqlCommand = New SqlCommand("jk_getLocation", cn)
command.Parameters.AddWithValue("@id", res)
command.Parameters.AddWithValue("@TableName", tblName)
If resDT.Rows.Count <> 0 Then
resDT.Rows.Clear()
End If
resDS.Clear()
Dim da As New SqlDataAdapter(command)
Try
da.Fill(resDS, "nb")
resDT = resDS.Tables(0)
Catch exe As SqlException
logFile("SP getLocation ----" + exe.Message)
Catch ex As Exception
logFile("SP getLocation ----" + ex.Message)
End Try
Return resDT
End Function
我就是这么称呼它的:
resDT = nb.getLocation(res.ToString(), code)
这是我的存储过程:
ALTER procedure [dbo].[jk_getLocation]
@id varchar(100),
@TableName varchar(100)
as
begin
select * from b where id=@id and name=@TableName
end
当我从 SQL 执行我的程序时,它工作正常并返回正确的数据..
但是当我从 vb.net 运行它时,我不断收到Procedure or function 'jk_getLocation' expects parameter '@id', which was not supplied.,尽管我正在传递所有参数
【问题讨论】:
-
var char(100) 应该是 varchar(100) 吗?假设复制和粘贴错误。
-
好吧,它是 varchar(100)...
-
您在 Db 中的 ID 是否是整数?此外,您是否正在逐步确保在程序开始之前,您的 @id 参数正在被填充
标签: sql sql-server vb.net stored-procedures vb.net-2010