admin

C#数据适配器参数

sql

我已经编写了一些代码来从数据库中获取一些数据。在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
    }

阅读 220

收藏
2021-06-07

共1个答案

admin

您忘记了告诉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;
}
2021-06-07