2

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

1 回答 1

8

您忘记告诉DataAdapter它应该调用 a 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;
}    
于 2013-01-28T16:55:23.520 回答