下面是“C#调用SQL Server中有参数的存储过程”的完整攻略。
1. 准备工作
在 C# 中调用 SQL Server 中有参数的存储过程前,需要先进行以下准备工作:
- 保证安装了 SQL Server。若未安装,则需要先安装 SQL Server。
- 使用 SQL Server 进行建表和创建带参数的存储过程。具体的建表和创建存储过程可以参考 SQL Server 中的文档,此处不再赘述。
2. C# 调用 SQL Server 中有参数的存储过程的步骤
下面是 C# 调用 SQL Server 中有参数的存储过程的步骤:
- 创建 SqlConnection 对象,连接 SQL Server 数据库。
- 创建 SqlCommand 对象,指定存储过程的名称和类型(存储过程)。
- 使用 command.Parameters.Add() 方法添加存储过程的参数,包括参数的名称、数据类型和参数值。
- 设置 Command 对象的 CommandType 属性为 CommandType.StoredProcedure,表示该对象是一个存储过程的执行命令。
- 调用 Command 对象的 ExecuteNonQuery() 或 ExecuteScalar() 方法执行存储过程。ExecuteNonQuery() 方法用于执行不返回结果集的存储过程,ExecuteScalar() 方法用于执行返回一个结果集的存储过程。
接下来,给出两条示例说明。
示例1
该示例是一个简单的调用存储过程的示例,存储过程名为 GetProductPrice,返回指定产品的价格。
using System.Data.SqlClient;
// 创建 SqlConnection 对象,连接数据库
string connectionString = "Data Source=(local);Initial Catalog=Northwind;Integrated Security=True";
using (SqlConnection connection = new SqlConnection(connectionString))
{
// 创建 SqlCommand 对象,指定存储过程的名称和类型
SqlCommand command = new SqlCommand("GetProductPrice", connection);
command.CommandType = CommandType.StoredProcedure;
// 设置存储过程的参数
command.Parameters.Add(new SqlParameter("@ProductName", SqlDbType.NVarChar, 40));
command.Parameters["@ProductName"].Value = "Chai";
// 打开数据库连接
connection.Open();
// 执行存储过程,并获取结果
object price = command.ExecuteScalar();
// 关闭数据库连接
connection.Close();
// 输出结果
Console.WriteLine("The price of Chai is: {0}", price);
}
示例2
该示例是另一个调用存储过程的示例,存储过程名为 GetAllProducts,返回所有产品的详细信息。
using System.Data.SqlClient;
using System.Data;
// 创建 SqlConnection 对象,连接数据库
string connectionString = "Data Source=(local);Initial Catalog=Northwind;Integrated Security=True";
using (SqlConnection connection = new SqlConnection(connectionString))
{
// 创建 SqlCommand 对象,指定存储过程的名称和类型
SqlCommand command = new SqlCommand("GetAllProducts", connection);
command.CommandType = CommandType.StoredProcedure;
// 设置存储过程的参数
command.Parameters.Add(new SqlParameter("@CategoryId", SqlDbType.Int));
command.Parameters["@CategoryId"].Value = 8;
// 打开数据库连接
connection.Open();
// 执行存储过程,并获取结果集
SqlDataReader reader = command.ExecuteReader();
// 遍历结果集
while (reader.Read())
{
Console.WriteLine("{0}\t{1}\t{2}", reader[0], reader[1], reader[2]);
}
// 关闭数据库连接
reader.Close();
connection.Close();
}
以上就是C#调用SQL Server中有参数的存储过程的完整攻略。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#调用SQL Server中有参数的存储过程 - Python技术站