要在C#中执行存储过程方法,需要以下步骤:
1. 创建SqlConnection对象
首先需要设置连接字符串并创建一个SqlConnection对象。连接字符串可以指定连接服务器的地址、数据库名称、用户名、密码等信息。
string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;";
SqlConnection connection = new SqlConnection(connectionString);
2. 创建SqlCommand对象
创建一个SqlCommand对象,并指定需要执行的存储过程的名称。
string storedProcedureName = "MyStoredProcedure";
SqlCommand command = new SqlCommand(storedProcedureName, connection);
3. 设置CommandType和执行参数
设置SqlCommand对象的CommandType属性为StoredProcedure,并向SqlCommand对象添加需要传递给存储过程的参数。
command.CommandType = CommandType.StoredProcedure;
SqlParameter parameter1 = new SqlParameter("@param1", SqlDbType.NVarChar, 50);
parameter1.Value = "value1";
command.Parameters.Add(parameter1);
SqlParameter parameter2 = new SqlParameter("@param2", SqlDbType.Int);
parameter2.Value = 2;
command.Parameters.Add(parameter2);
4. 执行SqlCommand
使用SqlCommand对象的ExecuteNonQuery方法或ExecuteReader方法执行存储过程。
connection.Open();
command.ExecuteNonQuery(); // 执行无返回数据的存储过程
SqlDataReader reader = command.ExecuteReader(); // 执行有返回数据的存储过程
示例1:执行无返回数据的存储过程
string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;";
SqlConnection connection = new SqlConnection(connectionString);
string storedProcedureName = "MyStoredProcedure";
SqlCommand command = new SqlCommand(storedProcedureName, connection);
command.CommandType = CommandType.StoredProcedure;
SqlParameter parameter1 = new SqlParameter("@param1", SqlDbType.NVarChar, 50);
parameter1.Value = "value1";
command.Parameters.Add(parameter1);
SqlParameter parameter2 = new SqlParameter("@param2", SqlDbType.Int);
parameter2.Value = 2;
command.Parameters.Add(parameter2);
connection.Open();
command.ExecuteNonQuery();
connection.Close();
示例2:执行有返回数据的存储过程
string connectionString = "Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword;";
SqlConnection connection = new SqlConnection(connectionString);
string storedProcedureName = "MyStoredProcedure";
SqlCommand command = new SqlCommand(storedProcedureName, connection);
command.CommandType = CommandType.StoredProcedure;
SqlParameter parameter1 = new SqlParameter("@param1", SqlDbType.NVarChar, 50);
parameter1.Value = "value1";
command.Parameters.Add(parameter1);
SqlParameter parameter2 = new SqlParameter("@param2", SqlDbType.Int);
parameter2.Value = 2;
command.Parameters.Add(parameter2);
connection.Open();
SqlDataReader reader = command.ExecuteReader();
while (reader.Read())
{
Console.WriteLine(reader["columnName1"]);
Console.WriteLine(reader["columnName2"]);
}
connection.Close();
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#中如何执行存储过程方法 - Python技术站