我写了一些代码来从我的数据库中获取一些数据。 stored procedure
仅使用ID
作为参数,并使用它来过滤结果。我使用stored procedure
中的EXEC命令运行SSMS
并且它有效。但是,当我尝试使用底部的代码调用它时,它失败了,说我没有提供参数。谁能看到我做错了什么?
using (SqlConnection sqlConnect = new SqlConnection(ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString))
{
try
{
DataTable dtBets = new DataTable("All Bets");
using (SqlDataAdapter sqlDA = new SqlDataAdapter("up_Select_all", sqlConnect))
{
sqlDA.SelectCommand.Parameters.Add("@ID", SqlDbType.BigInt).Value = pCustomer.CustomerID;
sqlDA.Fill(dtBets);
return dtBets;
}
}
catch (SqlException ex)
{
//catch code
}
答案 0 :(得分:7)
您忘记告诉DataAdapter
它应该拨打Stored-Procedure
:
using (SqlDataAdapter sqlDA = new SqlDataAdapter("up_Select_all", sqlConnect))
{
sqlDA.SelectCommand.CommandType = CommandType.StoredProcedure;
sqlDA.SelectCommand.Parameters.Add("@ID", SqlDbType.BigInt).Value = pCustomer.CustomerID;
sqlDA.Fill(dtBets);
return dtBets;
}