将存储过程用于Command对象
存储过程提供数据驱动程序很多优点,利用存储过程,数据库操作可以封装在单个命令中,为获取最佳性能而进行优化并通过附加的安全性得到增强。调用存储过程,需要将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(); } } }