我已经编写了一些代码来从我的数据库中获取一些数据。 存储过程
仅使用ID
作为参数,并使用它来过滤结果。我在 SSMS
中使用 EXEC 命令运行了 存储过程
并且它有效。但是,当我尝试使用底部的代码调用它时,它失败了,说我没有提供参数。谁能看出我做错了什么?
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
}
最佳答案
您忘记告诉 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;
}
关于C# 数据适配器参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14566980/