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

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

 
阅读更多

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

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

  

【在线指导】

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

  C#调用输入输出参数存储过程在上一章“输入参数存储过程”的基础上,再上一层楼。   

创建存储过程语句:
CREATE PROCEDURE prcClientInOut(@ClientCode CHAR(8),@ClientName VARCHAR(30) OUTPUT,@Mobile CHAR(11) OUTPUT)
AS
SELECT
@ClientName=vClientName,@Mobile=cMobile FROM Client WHERE cClientCode=@ClientCode
-------------------------------------------------------------------------------------------
调用存储过程语句:
语法:
  DECLARE @MyClientName VARCHAR(30)
  DECLARE @MyMobile CHAR(11)
  EXECUTE prcClientInOut '00000001',@MyClientName OUTPUT,@MyMobile OUTPUT
  PRINT @MyClientName
  PRINT @MyMobile

1、设计界面

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

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

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

            

  (4)从工具箱中拖1个TextBox到SqlProcedureInOut.aspx页面,ID属性为“tbClientCode”;

  

2、添加代码

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

  我们在btnProcedure_Click()中间输入:

//连接SQL SERVER
string ConnSqlServer = "Server=www.genwoxue.com;Database=SuperMarket;User ID=sa;Pwd=sigmasoft";
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 = "prcClientInOut ";

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

SqlParameter ParaClientName = new SqlParameter("@ClientName", SqlDbType.VarChar, 30);
ParaClientName.Direction = ParameterDirection.Output;

SqlParameter ParaMobile = new SqlParameter("@Mobile", SqlDbType.Char, 11);
ParaMobile.Direction = ParameterDirection.Output;

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

//执行
Comm.ExecuteNonQuery();

//输出客户名称与手机号码
Response.Write(ParaClientName.Value.ToString());
Response.Write(ParaMobile.Value.ToString());

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

  讲解:
  我们着重学习一下输出参数:

//声明SqlParameter对象
SqlParameter ParaClientName = new SqlParameter("@ClientName", SqlDbType.VarChar, 30);
ParaClientName.Direction = ParameterDirection.Output;
SqlParameter ParaMobile = new SqlParameter("@Mobile", SqlDbType.Char, 11);
ParaMobile.Direction = ParameterDirection.Output;

  注意SqlParameter参数对象Direction属性为输出参数;改为: ParameterDirection.Output

  由于本章不需要返回GridView,所以只用SqlCommand对象执行存储过程就可以了。

  

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

  

  当然了,你可以输入客户编号“00000002”查询一下试试。

分享到:
评论

相关推荐

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

    ◇ 第一章 引言 - 课前索引 - 第一节 计算机语言及其发展 ...◇ 第十二章 输入输出流 - 课前索引 - 第一节 输入输出流类 - 第二节 文件流 - 第三节 字节流类 - 第四节 流错误处理 - 本章小结 - 课后习题

    android知识大总结【邯院】

    第四章 日志输出和单元测试 17 第五章 数据的存储与访问 19 第六章 SD卡的存取和XML读取 24 第七章 SharedPreferences进行数据存储 38 第八章 SQLITE数据库 42 第九章 ListView控件的使用 50 第十章 Activity互相...

    汇编语言答案,清华版

    第八章叙述输入/输出程序设计方法,重点说明中断原理、中断过程及中断程序设计方式。 (7). 第九章说明BIOS和DOS系统功能调用的使用方法。 第十~十一章分别说明图形显示、发声及磁盘文件存储的程序设计方法,同时...

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

    4.3 数据输入输出的概念及在 C 语言中的实现 54 4.4 字符数据的输入输出 54 4.4.1 putchar 函数(字符输出函数) 54 4.4.2 getchar函数(键盘输入函数) 55 4.5 格式输入与输出 55 4.5.1 printf 函数(格式输出函数...

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

    4.3 数据输入输出的概念及在 C 语言中的实现 54 4.4 字符数据的输入输出 54 4.4.1 putchar 函数(字符输出函数) 54 4.4.2 getchar函数(键盘输入函数) 55 4.5 格式输入与输出 55 4.5.1 printf 函数(格式输出函数...

    程序设计基础(C) 视频.txt

    同时在每章的最后都提供一个有一定难度且趣味性较强的综合实例,将本章中多个知识点有机地结合起来,力求读者能把理论与实践紧密结合,体会解决实际问题的过程。全书内容精练,重点突出,从实例出发提出概念,突出...

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

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

    16位微型计算机原理·接口及其应用

    习题与思考题第五章 存储器与存储系统 5.1 存储器分类 5.2 多层存储结构概念 5.3 主存储器及存储控制 5.4 8086系统的存储器组织 习题与思考题第六章 微型计算机的输入/输出……第七章 中断第八章 可编程接口芯片第九...

    8086/8088汇编语言程序设计教程

    第5章 输入输出与中断 5.1输 入和输出的基本概念 5.1.1 I/O端口地址和I/O指令 5.1.2 数据传送方式 5.1.3 存取RT/CMOS RAM 5.2 查询方式传送数据 5.2.1 查询传送方式 5.2.2 读实时钟 5.2.3 查询方式打印输出 5.3 ...

    80X86汇编语言程序设计

    第5章 输入输出与中断 5.1输 入和输出的基本概念 5.1.1 I/O端口地址和I/O指令 5.1.2 数据传送方式 5.1.3 存取RT/CMOS RAM 5.2 查询方式传送数据 5.2.1 查询传送方式 5.2.2 读实时钟 5.2.3 查询方式打印输出 5.3 ...

    80x86汇编语言程序设计教程

    第5章 输入输出与中断 5.1输 入和输出的基本概念 5.1.1 I/O端口地址和I/O指令 5.1.2 数据传送方式 5.1.3 存取RT/CMOS RAM 5.2 查询方式传送数据 5.2.1 查询传送方式 5.2.2 读实时钟 5.2.3 查询方式打印输出 5.3 ...

    UNIX高级编程 计算机科学丛书

    6. 实例—一个数据库的函数库(第十六章)、与Postscrip打印机的通信(第十七章)、调制解调器拨号程序(第十八章)以及使用伪终端(第十九章)。 如果对C语言较熟悉并具有某些应用Unix的经验,那么对阅读本书是...

    谭浩强C程序设计第三版

    数据输入输出的概念及在C语言中的实现 59 字符数据的输入输出 60 putchar 函数(字符输出函数) 60 getchar函数(键盘输入函数) 60 格式输入与输出 61 printf函数(格式输出函数) 61 scanf函数(格式输入函数) 63 ...

    程序设计语言编译原理 (陈火旺)

    第四章语法分析——自上而下分析 4.1 语法分析器的功能 4.2 自上而下分析面临的问题 4.3 LL(1)分析法 4.3.1左递归的消除 4.3.2消除回溯、提左因子 4.3.3 LL(1)分析条件 4.4递归下降分析程序构造 4.5...

    数据库基础

    第四章 视图、同义词和序列 128 §4.1 视图 128 §4.1.1 使用视图来修改表中数据 128 §4.1.2 创建一个新视图 128 §4.1.3 删除一个视图 130 §4.1.4 改变视图 131 §4.2 实体视图(MATERIALIZED VIEW) 131 §4.2.1 ...

    jsp网络编程从基础到实践

    实例52 调用存储过程 实例53 事务处理 实例54 利用连接池访问数据库 第8章 JSP中JavaBean的应用 实例55 在JSP中应用JavaBean 实例56 用HTML表单设置JavaBean的属性值 实例57 计数器JavaBean 实例58 查询...

    JSP网络编程从基础到实践 实例代码

    实例52 调用存储过程 实例53 事务处理 实例54 利用连接池访问数据库 第8章 JSP中JavaBean的应用 实例55 在JSP中应用JavaBean 实例56 用HTML表单设置JavaBean的属性值 实例57 计数器JavaBean 实例58 查询...

    JSP网络编程从基础到实践的实例代码

    实例52 调用存储过程 实例53 事务处理 实例54 利用连接池访问数据库 第8章 JSP中JavaBean的应用 实例55 在JSP中应用JavaBean 实例56 用HTML表单设置JavaBean的属性值 实例57 计数器JavaBean 实例58 查询...

Global site tag (gtag.js) - Google Analytics