第47章、调用输入参数存储过程

来源:互联网 发布:mac 终端 桌面路径 编辑:程序博客网 时间:2024/06/08 23:22

 

【知识要点】
  (1)SQL SERVER创建“输入参数存储过程”
  (2)C#调用输入参数存储过程

【问题提出】
  存储过程的好处我们早已知道了,那么如何使用C#调用输入参数存储过程呢?

  

【在线指导】

  SQL SERVER数据库创建存储过程回顾:第37章、创建输入参数存储过程

  C#调用输入参数存储过程就没有“无参数存储过程”那么简单了,不过也不难,我们一起来学习一下,返回结果填充到GridView即可。   

创建存储过程语句:
  CREATE PROCEDURE prcClientByCode(@ClientCode CHAR(8))
  AS
  SELECT vClientName,cMobile,vAddress FROM Client WHERE cClientCode=@ClientCode
-------------------------------------------------------------------------------------------
调用存储过程语句:
  EXEC prcClient '00000001'

1、设计界面

  (1)打开Hello项目,单击“启动页>最近使用的项目>Hello”。

  (2)在“解决方案资源管理器”中添加“SqlProcedureByCode.aspx”页面。

  (3)从工具箱中拖1个按钮Button到SqlProcedureByCode.aspx页面,控件“调用输入参数存储过程”按钮:ID属性为“btnProcedure”;

            

  (4)从工具箱中拖1个GridView到SqlProcedureByCode.aspx页面,GridView的ID属性为“gvClient”;     注:GridView的样式设置与列的设置由于我们前面章节多次重复,不再赘述。 

  

2、添加代码

  (1)双击页面上的“调用输入参数存储过程”按钮。

  我们在btnProcedure_Click()中间输入:

//连接SQL SERVER
string ConnSqlServer = "Server=www.woshicainiao.net;Database=SuperMarket;User ID=sa;Pwd=xxx";
SqlConnection Conn = new SqlConnection(ConnSqlServer);

//打开
Conn.Open();

string ClientCode=tbClientCode.Text.Trim();

//声明SqlCommand对象
SqlCommand Comm=new SqlCommand();
Comm.Connection = Conn;
Comm.CommandType = CommandType.StoredProcedure;
Comm.CommandText = "prcClientByCode ";

//声明SqlParameter对象
SqlParameter Para= new SqlParameter("@ClientCode",SqlDbType.Char,8);
Para.Direction = ParameterDirection.Input;
Para.Value = ClientCode;

//为Comm添加参数Para
Comm.Parameters.Add(Para);

//声明SqlDataAdapter对象
SqlDataAdapter Adapter = new SqlDataAdapter(Comm);
DataSet Ds = new DataSet();
Adapter.Fill(Ds, "Client");

//执行命令
gvClient.DataSource = Ds.Tables["Client"];
gvClient.DataBind();

//关闭数据库
Conn.Close();

  讲解:
  我们着重学习一下:

//声明SqlCommand对象
SqlCommand Comm=new SqlCommand();
Comm.Connection = Conn;
Comm.CommandType = CommandType.StoredProcedure;
Comm.CommandText = "prcClientByCode ";

  SqlCommand我们并不陌生,其Connection属性为活动的连接;CommandType默认是SQL语句,在此指定为存储过程;CommandText属性为存储过程名称。

//声明SqlParameter对象
SqlParameter Para= new SqlParameter("@ClientCode",SqlDbType.Char,8);
Para.Direction = ParameterDirection.Input;
Para.Value = ClientCode;

  SqlParameter参数对象我们是第一次见,Direction属性为输入参数;其Value属性为文本框的内容。

//为Comm添加参数Para
Comm.Parameters.Add(Para);
  为Comm添加参数对象Para

//声明SqlDataAdapter对象
SqlDataAdapter Adapter = new SqlDataAdapter(Comm);
  为SqlDataAdapter构造函数添加Comm对象。

  再后面的代码就和以前一样了。

  

  (2)输入编号:“00000001”,单击“调用输入参数存储过程”按钮。

  

  当然了,你可以输入别的客户编号查询一下试试。

原创粉丝点击