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

本文关键字:存储过程 调用 参数 添加 | 更新日期: 2023-09-27 18:21:59

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

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

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

像这样:

// 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);

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

您可以使用命令。参数.AddWithValue("@number",TextBox1.Text)

编码快乐!!

我认为你需要更具体一些。

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

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

这可能是一个解决方案:
此参数应该是存储过程中参数的确切名称("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();
}

您可以使用SqlCommand.Parameters属性。

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

有关更多详细信息,请访问此链接: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();
    }
}