将存储过程用于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();
        }
    }
}

 

 


 

posted @ 2010-08-25 23:49  aito  阅读(474)  评论(0编辑  收藏  举报