我不知道该相信什么。当我们从存储过程运行VB.NET SqlCommand
时,我们是否在命令中添加EXEC?!
我收到错误:
无法找到存储过程'EXEC uspGrabAutoByYMM'。
但是其他人告诉我你必须把EXEC放在那里才能运行。
这是我的示例代码:
Public Sub BindGridAutosYMM()
Dim constring As String = "server=classified;database=classified"
Using con As New SqlConnection(constring)
Using cmd As New SqlCommand("EXEC uspGrabAutoByYMM", con)
cmd.Parameters.Add("@Year", SqlDbType.VarChar).Value = TextBox1.Text
cmd.Parameters.Add("@Make", SqlDbType.VarChar).Value = TextBox2.Text
cmd.Parameters.Add("@Model", SqlDbType.VarChar).Value = TextBox3.Text
cmd.CommandType = CommandType.StoredProcedure
Using sda As New SqlDataAdapter(cmd)
Using dt As New DataTable()
sda.Fill(dt)
DataGridView1.DataSource = dt
End Using
End Using
End Using
End Using
End Sub
答案 0 :(得分:2)
没有
System.Data.CommandType.StoredProcedure为你做。
这将有所帮助:How to: Execute a Stored Procedure that Returns Rows
另见:
将EXECUTE用于存储过程 当语句是批处理中的第一个语句时,您不必在执行存储过程时指定EXECUTE关键字。
如果您删除" exec"并且问题仍然存在,请确认您的数据库中存在此过程。