调用存储过程,需要将Command对象的 CommandType设置为StoreProcedure,CommandType一旦设置为StoreProcedure,就可以使用Parameters集合来定义参数.
代码所示:
存储过程提供数据驱动程序很多优点,利用存储过程,数据库操作可以封装在单个命令中,为获取最佳性能而进行优化并通过附加的安全性得到增强.
代码所示:
using System;
using System.Data;
using System.Data.SqlClient;
namespace CommandSmp
{
class Class1
{
static void Main(string[] args)
{
SqlConnection nwindConn=new SqlConnection("Data Source=LA;Integrated Security=SSPI;Initial Catalog=northwind");
SqlCommand salesCMD=new SqlCommand("SalesByCategory",nwindConn);
salesCMD.CommandType=CommandType.StoredProcedure;
SqlParameter myParm=salesCMD.Parameters.Add("@CategoryName",SqlDbType.NVarChar,15);
myParm.Value="Beverages";
nwindConn.Open();
SqlDataReader myReader=salesCMD.ExecuteReader();
Console.WriteLine("{0},{1}",myReader.GetName(0),myReader.GetName(1));
while(myReader.Read())
{
Console.WriteLine("{0},${1}",myReader.GetString(0),myReader.GetDecimal(1));
}
myReader.Close();
nwindConn.Close();
}
}
}
using System.Data;
using System.Data.SqlClient;
namespace CommandSmp
{
class Class1
{
static void Main(string[] args)
{
SqlConnection nwindConn=new SqlConnection("Data Source=LA;Integrated Security=SSPI;Initial Catalog=northwind");
SqlCommand salesCMD=new SqlCommand("SalesByCategory",nwindConn);
salesCMD.CommandType=CommandType.StoredProcedure;
SqlParameter myParm=salesCMD.Parameters.Add("@CategoryName",SqlDbType.NVarChar,15);
myParm.Value="Beverages";
nwindConn.Open();
SqlDataReader myReader=salesCMD.ExecuteReader();
Console.WriteLine("{0},{1}",myReader.GetName(0),myReader.GetName(1));
while(myReader.Read())
{
Console.WriteLine("{0},${1}",myReader.GetString(0),myReader.GetDecimal(1));
}
myReader.Close();
nwindConn.Close();
}
}
}
存储过程提供数据驱动程序很多优点,利用存储过程,数据库操作可以封装在单个命令中,为获取最佳性能而进行优化并通过附加的安全性得到增强.