如何在vb.net中使用参数调用mysql过程而不在vb.net中定义ther参数。
这是我的代码:
MYSQL:
CREATE PROCEDURE `usp_totalprice`(IN `id` INT) NOT DETERMINISTIC CONTAINS SQL SQL SECURITY DEFINER select count(*) as total from tbl_extra where foodID = id
VB.NET
Dim ds As New DataSet
Dim da As New MySql.Data.MySqlClient.MySqlDataAdapter("usp_totalprice", "server=localhost; user id=root; password=; database=hrmsbf;")
da.SelectCommand.Parameters.Add(New MySql.Data.MySqlClient.MySqlParameter("@id", 1))
da.Fill(ds)
MsgBox(ds.Tables(0).Rows(0)(0))
我发现了这个错误:
PROCEDURE hrmsbf.usp_totalprice的参数数量不正确; 预期1,得到0。
我试过这个
"Dim da As New MySql.Data.MySqlClient.MySqlDataAdapter("usp_totalprice(@id)", "server=localhost; user id=root; password=; database=hrmsbf;")"
这是有效的,但这不是我想要的。
答案 0 :(得分:0)
尝试这种方式
Dim ds As New DataSet
Dim da As New MySql.Data.MySqlClient.MySqlDataAdapter("usp_totalprice", "server=localhost; user id=root; password=; database=hrmsbf;")
da.SelectCommand.Parameters.Add(New MySql.Data.MySqlClient.MySqlParameter("@id", 1))
da.SelectCommand.Parameters("@id").Direction = ParameterDirection.Input
da.Fill(ds)
MsgBox(ds.Tables(0).Rows(0)(0))