`
modabobo
  • 浏览: 509633 次
文章分类
社区版块
存档分类
最新评论

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

 
阅读更多

【知识要点】
  (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”,单击“调用输入参数存储过程”按钮。

  

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

分享到:
评论

相关推荐

    ActionScript 3.0 开发人员指南 (AS3开发帮助文档)

    第 47 章 : 使用外部 API 第 48 章 : AIR 中的 XML 签名验证 第 49 章 : 客户端系统环境 第 50 章 : AIR 应用程序的调用和终止 第 51 章 : 处理 AIR 运行时和操作系统信息 第 52 章 : 使用 AIR 本机窗口 第 53...

    清华大学计算机课程之《C++程序设计》

    ◇ 第四章 流程控制语句 - 课前索引 - 第一节 if语句 - 第二节 switch语句 - 第三节 循环语句 - 第四节 break和continue语句 - 第五节 程序举例 - 本章小结 - 课后习题 ◇ 第五章 函数 - 课前索引 - 第一节...

    PC机汇编语言实战精解-李春生

    第6章 文字输出与键盘输入 116  6.1 基础知识 116  6.1.1 认识显示系统 116  6.1.2 显示卡的类别 117 第2章 开始设计程序 11  2.1 如何发出声音 11  2.1.1 喇叭的构造 11  2.1.2 汇编伴侣--DEBUG.EXE...

    unix环境高级编程13章

    2. 不带缓存的I/O(第三章)、文件和目录(第四章、标准I/O库(第五章)以及系 统数据文件(第六章)。 3. 进程-Unix进程的环境(第七章)、进程控制(第八章)、进程之间的关系(第九章 )以及信号(第十章...

    DOS功能调用---------

    AH 功能 调用参数 返回参数 00 程序终止(同INT 20H) CS=程序段前缀   01 键盘输入并回显   AL=输入字符 02 显示输出 DL=输出字符   03 异步通迅输入   AL=输入数据 04 异步通迅输出 DL=输出数据   05 打印机...

    谭浩强C语言程序设计,C++程序设计,严蔚敏数据结构,高一凡数据结构算法分析与实现.rar

    第2篇 面向过程的程序设计 第3章 程序设计初步 3.1 面向过程的程序设计和算法 3.1.1 算法的概念 3.1.2 算法的表示 3.2 C++程序和语句 3.3 赋值语句 3.4 C++的输入与输出 *3.4.1 输入流与输出流的基本操作 *...

    谭浩强C语言程序设计,C++程序设计,严蔚敏数据结构,高一凡数据结构算法分析与实现.rar )

    第2篇 面向过程的程序设计 第3章 程序设计初步 3.1 面向过程的程序设计和算法 3.1.1 算法的概念 3.1.2 算法的表示 3.2 C++程序和语句 3.3 赋值语句 3.4 C++的输入与输出 *3.4.1 输入流与输出流的基本操作 *...

    ExcelVBA程序设计.doc

    第四章 VBA过程:子程序和函数 91 1.关于函数过程 91 2.创建函数过程 91 3.执行函数过程 92 4.从工作表里运行函数过程 93 5.从另外一个VBA过程里运行函数过程 94 6.传递参数 95 7.明确参数类型 96 8.按地址和按值...

    Excel_VBA教程

    第四章 VBA过程:子程序和函数 91 1.关于函数过程 91 2.创建函数过程 91 3.执行函数过程 92 4.从工作表里运行函数过程 93 5.从另外一个VBA过程里运行函数过程 94 6.传递参数 95 7.明确参数类型 96 8.按地址和按值...

    Linux编程从入门到精通

    第四部分 Linux内核概念系统结构 摘要 323 前言 324 第1章 系统结构 325 1.1 系统概述 325 1.2 内核的目标 325 1.3 内核结构的概述 325 1.4 支持多个开发人员 327 1.5 系统数据结构 328 1.5.1 任务列表 328 1.5.2 ...

    Linux编程白皮书

    第四部分 Linux内核概念系统结构 摘要 323 前言 324 第1章 系统结构 325 1.1 系统概述 325 1.2 内核的目标 325 1.3 内核结构的概述 325 1.4 支持多个开发人员 327 1.5 系统数据结构 328 1.5.1 任务列表 328 1.5.2 ...

    LINUX编程白皮书 (全集)

    第四部分 Linux内核概念系统结构 摘要 323 前言 324 第1章 系统结构 325 1.1 系统概述 325 1.2 内核的目标 325 1.3 内核结构的概述 325 1.4 支持多个开发人员 327 1.5 系统数据结构 328 1.5.1 任务列表 328 1.5.2 ...

    Linux编程资料

    第四部分 Linux内核概念系统结构 摘要 323 前言 324 第1章 系统结构 325 1.1 系统概述 325 1.2 内核的目标 325 1.3 内核结构的概述 325 1.4 支持多个开发人员 327 1.5 系统数据结构 328 1.5.1 任务列表 328 1.5.2 ...

    新概念C语言.李一波(带详细书签).pdf

    第18章 其他变量类型、变量的作用域、变量的存储类别和编译预处理 184 18.1 其他变量类型 184 18.1.1 短整型和长整型数据 184 18.1.2 无符号型数据 184 18.1.3 共用体数据类型 184 18.2 局部变量和全局变量 187...

    LINUX编程白皮书

    第四部分 Linux内核概念系统结构 摘要 323 前言 324 第1章 系统结构 325 1.1 系统概述 325 1.2 内核的目标 325 1.3 内核结构的概述 325 1.4 支持多个开发人员 327 1.5 系统数据结构 328 1.5.1 任务列表 328 ...

    linux编程白皮书

    第四部分 Linux内核概念系统结构 摘要 323 前言 324 第1章 系统结构 325 1.1 系统概述 325 1.2 内核的目标 325 1.3 内核结构的概述 325 1.4 支持多个开发人员 327 1.5 系统数据结构 328 1.5.1 任务列表 328 1.5.2 ...

Global site tag (gtag.js) - Google Analytics