如何将参数添加到以下存储过程调用?

时间:2012-01-30 16:22:02

标签: c# sql-server stored-procedures

如何将参数添加到以下存储过程调用中?

using (var conn = new SqlConnection(connectionString))
using (var command = new SqlCommand("ProcedureName", conn) { 
                           CommandType = CommandType.StoredProcedure }) {
   conn.Open();
   command.ExecuteNonQuery();
   conn.Close();
}

7 个答案:

答案 0 :(得分:2)

像这样:

// this would work for a varchar or nvarchar parameter
command.Parameters.AddWithValue("@yourParameter", "someValue");
// this would work for an integer parameter
command.Parameters.AddWithValue("@someInt", 1234);

显然,在尝试调用Parameters 之前,您需要使用任何代码向command.ExecuteNonQuery();集合添加参数。

答案 1 :(得分:1)

我需要你更具体一点。

使用command.Parameters.AddWithValue有什么问题?

答案 2 :(得分:1)

这可能是一个解决方案:
此参数应该是存储过程中参数的确切名称(“yourParameter”)。

using (var conn = new SqlConnection(connectionString))
{
var command = new SqlCommand("ProcedureName", conn){CommandType = CommandType.StoredProcedure };
command.Parameters.AddWithValue("@yourParameter", "someValue");
conn.Open();
command.ExecuteNonQuery();
conn.Close();
}

答案 3 :(得分:1)

command.Parameters.Add(
        new SqlParameter("@customerId", custumerId));

答案 4 :(得分:1)

您可以使用SqlCommand.Parameters Property

command.Parameters.Add("@SomeParmeter", SqlDbType.Int); //SqlDbType is enum

答案 5 :(得分:1)

您可以使用command.Parameters.AddWithValue(“@ number”,TextBox1.Text)

快乐的编码!!

答案 6 :(得分:0)

有关详情,请访问以下链接:http://msdn.microsoft.com/en-us/library/yy6y35y8.aspx

以下代码是从上面发布的链接中复制的

static void GetSalesByCategory(string connectionString,string categoryName)
{
    using (SqlConnection connection = new SqlConnection(connectionString))
    {
        // Create the command and set its properties.
        SqlCommand command = new SqlCommand();
        command.Connection = connection;

        command.CommandText = "SalesByCategory";       
        command.CommandType = CommandType.StoredProcedure;

        // Add the input parameter and set its properties.
        SqlParameter parameter = new SqlParameter();
        parameter.ParameterName = "@CategoryName";
        parameter.SqlDbType = SqlDbType.NVarChar;
        parameter.Direction = ParameterDirection.Input;
        parameter.Value = categoryName;

        // Add the parameter to the Parameters collection. 
        command.Parameters.Add(parameter);

        // Open the connection and execute the reader.
        connection.Open();
        SqlDataReader reader = command.ExecuteReader();

        if (reader.HasRows)
        {
            while (reader.Read())
            {
                Console.WriteLine("{0}: {1:C}", reader[0], reader[1]);
            }
        }
        else
        {
            Console.WriteLine("No rows found.");
        }
        reader.Close();
    }
}