我已经编写了一些代码来从数据库中获取一些数据。在stored procedure只使用ID作为参数,并使用它来筛选结果。我已经stored procedure使用EXEC命令运行了SSMS它,并且可以正常工作。但是,当我尝试使用底部的代码对其进行调用时,它失败了,表明我没有提供参数。有人可以看到我在做什么吗?
stored procedure
ID
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 }
您忘记了告诉DataAdapter它应该调用Stored-Procedure:
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; }