ADO.NET数据库访问技术案例教程 第11章 数据访问的参数设置与应用.ppt

上传人:s****8 文档编号:67269637 上传时间:2022-12-24 格式:PPT 页数:63 大小:180KB
返回 下载 相关 举报
ADO.NET数据库访问技术案例教程 第11章 数据访问的参数设置与应用.ppt_第1页
第1页 / 共63页
ADO.NET数据库访问技术案例教程 第11章 数据访问的参数设置与应用.ppt_第2页
第2页 / 共63页
点击查看更多>>
资源描述

《ADO.NET数据库访问技术案例教程 第11章 数据访问的参数设置与应用.ppt》由会员分享,可在线阅读,更多相关《ADO.NET数据库访问技术案例教程 第11章 数据访问的参数设置与应用.ppt(63页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、 第第 11 11 章章数据访问的参数设置与应用数据访问的参数设置与应用 SQLSQL语句中的参数设置语句中的参数设置11.1存储过程的参数设置存储过程的参数设置11.2 【知知识识技技能能目目标标】(1)掌握使用包含参数的数据命令)掌握使用包含参数的数据命令执行数据筛选操作。执行数据筛选操作。(2)掌握使用包含参数的数据命令)掌握使用包含参数的数据命令执行数据更新操作。执行数据更新操作。(3)掌握包含参数的数据适配器命)掌握包含参数的数据适配器命令的操作。令的操作。(4)掌握使用包含参数的存储过程)掌握使用包含参数的存储过程执行数据筛选操作。执行数据筛选操作。(5)掌握使用包含参数的存储过程

2、)掌握使用包含参数的存储过程执行数据更新操作。执行数据更新操作。【本本章章学学习习导导航航】本章探讨了使用包含参数的数据命令本章探讨了使用包含参数的数据命令或存储过程执行数据筛选操作和数据更新或存储过程执行数据筛选操作和数据更新操作的多种方法,执行包含参数的数据命操作的多种方法,执行包含参数的数据命令或存储过程的主要流程如下。令或存储过程的主要流程如下。(1)创建)创建Connection对象,并设置对象,并设置相应的属性值。相应的属性值。(2)打开)打开Connection对象。对象。(3)创建)创建Command对象并设置相应对象并设置相应的属性值。的属性值。(4)创建参数对象,将建立好的

3、参)创建参数对象,将建立好的参数对象添加到数对象添加到Command对象的对象的Parameters集合中。集合中。(5)给参数对象赋值。)给参数对象赋值。(6)执行数据命令。)执行数据命令。(7)关闭相关对象。)关闭相关对象。建议分为两个教学单元,第一个教学建议分为两个教学单元,第一个教学单元为单元为11.1,第二个教学单元为,第二个教学单元为11.2。11.111.1SQLSQL语句中的参数设置语句中的参数设置在设计数据库应用程序时,通过数据在设计数据库应用程序时,通过数据命令传送到数据库执行的命令传送到数据库执行的SQL语句经常会语句经常会包含参数,例如,在包含参数,例如,在SQL语句中

4、,语句中,Where子句使用参数动态筛选所需的数据记录。子句使用参数动态筛选所需的数据记录。11.1.1使用包含参数的数据使用包含参数的数据命令执行数据筛选操作命令执行数据筛选操作【实例实例11-1】1设计任务设计任务设计一个窗体,用来浏览选定班级的设计一个窗体,用来浏览选定班级的班级信息和该班对应的学生信息。窗体的班级信息和该班对应的学生信息。窗体的运行效果如图运行效果如图11-1所示。所示。图图11-111-1包含参数的数据命令的执行结果包含参数的数据命令的执行结果 在在“班级编号班级编号”对应的组合框中选择对应的组合框中选择一个班级编号,文本框中会显示对应班级一个班级编号,文本框中会显示

5、对应班级的的“班级名称班级名称”和和“班级编号班级编号”,同时列,同时列表框中会显示对应班级的学生信息。表框中会显示对应班级的学生信息。2设计过程设计过程(1)新建一个项目)新建一个项目Chapter11_1。(2)在窗体中添加)在窗体中添加1个个ComboBox控控件、件、2个个TextBox控件、控件、1个个ListBox控控件和多个件和多个Label控件,窗体及控件的控件,窗体及控件的设计外观如图设计外观如图11-2所示。所示。(3)切换到代码窗口,编写程序代)切换到代码窗口,编写程序代码,实现其功能。码,实现其功能。图图11-211-2筛选操作窗体的设计状态筛选操作窗体的设计状态 大部

6、分程序代码与第大部分程序代码与第6章的实例章的实例6-1相相同,下面只列出不同的代码。同,下面只列出不同的代码。第第6 6章代码章代码6-1-36-1-3中第中第0909、1010两行对应两行对应的语句改为以下形式。的语句改为以下形式。comm.CommandTextcomm.CommandText=Select =Select 班级编号班级编号 ,班级名称班级名称 From From 班级班级&_&_ Where Where 班级编号班级编号 =ClassNoClassNo 3知识要点说明知识要点说明数据命令对象数据命令对象SqlCommand的的Parameters属性能够取得与属性能够取

7、得与SqlCommand相关联的参数集合(也就是相关联的参数集合(也就是SqlParameterCollection),从而通过调用),从而通过调用SqlParameterCollection的的Add方法即可将方法即可将SQL语句中的参数添加到参数集合中。语句中的参数添加到参数集合中。数据命令对象数据命令对象SqlCommand的的Parameters属性主要有以下几个。属性主要有以下几个。(1)ParameterName:用于指定参:用于指定参数的名称。数的名称。(2)SqlDbType:用于指定参数的数:用于指定参数的数据类型,例如整型、字符型等。据类型,例如整型、字符型等。(3)Val

8、ue:设置输入参数的值。:设置输入参数的值。(4)Direction:指定参数的方向,:指定参数的方向,可以是下列值之一。可以是下列值之一。ParameterDirection.Input:指明为输:指明为输入参数。入参数。ParameterDirection.Output:指明为:指明为输出参数。输出参数。ParameterDirection.InputOutput:指:指明为输入参数或者输出参数。明为输入参数或者输出参数。ParameterDirection.ReturnValue:指:指明为返回值类型。明为返回值类型。11.1.2使用包含参数的数据使用包含参数的数据命令执行数据更新操作命

9、令执行数据更新操作【实例实例11-2】1设计任务设计任务设计一个窗体,该窗体可以实现逐条设计一个窗体,该窗体可以实现逐条浏览数据记录以及新增、修改与删除记录浏览数据记录以及新增、修改与删除记录的功能。更新数据窗体的运行效果如图的功能。更新数据窗体的运行效果如图11-3所示。所示。图图11-311-3更新数据窗体的运行状态更新数据窗体的运行状态 2设计过程设计过程(1)新建一个项目)新建一个项目Chapter11_2。(2)在窗体中添加)在窗体中添加10个个Button控件、控件、4个个TextBox控件和控件和4个个Label控件,窗控件,窗体及控件的设计外观如图体及控件的设计外观如图11-4

10、所示。所示。(3)切换到代码窗口,编写程序代)切换到代码窗口,编写程序代码,实现其功能。码,实现其功能。图图11-411-4更新数据窗体的设计状态更新数据窗体的设计状态 实例实例11-2中的中的【删除删除】按钮和按钮和【保存保存】按钮的按钮的Click事件过程的程序代码与第事件过程的程序代码与第7章的实例章的实例7-1不同,分别如代码不同,分别如代码11-1-1、11-1-2所示,其余的程序代码与第所示,其余的程序代码与第7章的实例章的实例7-1相同。相同。3代码分析代码分析代码分析如表代码分析如表11-1所示。所示。代代码码序号序号行行 号号代代 码码 分分 析析代代码码11-1-111-1

11、-10303行和行和0404行行在参数集中替参数在参数集中替参数NumberNumber加入加入一个参数一个参数对对象,并象,并设设置置该该参数参数的的值值0505构建构建带带参数的参数的DeleteDelete语语句句表表11-111-1程序代码分析程序代码分析 代代码码11-1-211-1-20404行至行至1111行行在参数集中替在参数集中替InsertInsert语语句中的句中的4 4个个参数加入参数参数加入参数对对象,并象,并设设置置这这些参些参数的数的值值1212行和行和1313行行 构建构建带带参数的参数的InsertInsert语语句句2323行至行至3030行行在参数集中替在

12、参数集中替UpdateUpdate语语句中的句中的4 4个个参数加入参数参数加入参数对对象,并象,并设设置置这这些参些参数的数的值值3131行至行至3434行行 构建构建带带参数的参数的UpdateUpdate语语句句 4知识要点说明知识要点说明实例实例11-2与第与第7章的实例章的实例7-1的主要区别的主要区别是:是:Insert、Update和和Delete语句中包含参语句中包含参数,窗体文本框中的数据通过参数传入数,窗体文本框中的数据通过参数传入Insert、Update和和Delete语句。语句。11.1.3包含参数的数据适配包含参数的数据适配器命令的操作器命令的操作【实例实例11-3

13、】1设计任务设计任务设计一个窗体,该窗体使用包含参数设计一个窗体,该窗体使用包含参数的数据适配器命令从数据源中提取数据,的数据适配器命令从数据源中提取数据,填充数据集,新建、修改或删除数据源中填充数据集,新建、修改或删除数据源中的数据。窗体的运行效果如图的数据。窗体的运行效果如图11-3所示。所示。2设计过程设计过程(1)新建一个项目)新建一个项目Chapter11_3。(2)窗体及控件的设计外观如图)窗体及控件的设计外观如图11-4所示。所示。(3)切换到代码窗口,编写程序代)切换到代码窗口,编写程序代码,实现其功能。码,实现其功能。窗体窗体Load事件过程的程序代码如代码事件过程的程序代码

14、如代码11-1-3所示,其余代码参考第所示,其余代码参考第7章的实例章的实例7-4。3代码分析代码分析代码分析如表代码分析如表11-2所示。所示。代代 码码 序序 号号行行 号号代代 码码 分分 析析代代码码11-1-311-1-30101行行定定义义从数据源中提取数据的从数据源中提取数据的查询查询字符串字符串0404行至行至0606行行定定义义新增新增记录记录的命令字符串的命令字符串1818行至行至2121行行定定义义修改数据的命令字符串修改数据的命令字符串3434行行定定义删义删除数据的命令字符串除数据的命令字符串1010行至行至1717行行设设置置InsertCommandInsertC

15、ommand属性的属性的InsertInsert语语句中的各个参数句中的各个参数2525行至行至3333行行设设置置UpdateCommandUpdateCommand属性的属性的UpdateUpdate语语句中的各个参数句中的各个参数3838行至行至4040行行设设置置DeleteCommandDeleteCommand属性的属性的DeleteDelete语语句中的参数句中的参数2525行至行至2727行行设设置置UpdateCommandUpdateCommand属性的属性的UpdateUpdate语语句中的参数句中的参数NumberNumber,与其,与其他参数的他参数的设设置有所不同。

16、其原因是:置有所不同。其原因是:“学号学号”是主是主键键字段,用来字段,用来识识别别数据源中的数据源中的对应记录对应记录,如果修改了,如果修改了该该字段的字段的值值,会造成,会造成该记录该记录与数据源中的与数据源中的记录记录不能正确不能正确对应对应,从而无法,从而无法顺顺利更新。利更新。为为了避免了避免这这种情况种情况发发生,将生,将NumberNumber参数的参数的SourceVersionSourceVersion设设置置为为 DataRowVersion.OriginalDataRowVersion.Original,这样这样既使主既使主键键“学号学号”的的值值被修改了,被修改了,参数

17、参数NumberNumber也能取得也能取得“学号学号”字段的原始版本,以确保数据源字段的原始版本,以确保数据源的的对应记录对应记录被被顺顺利更新利更新表表11-211-2程序代码分析程序代码分析 4知识要点说明知识要点说明(1)如果数据适配器命令的)如果数据适配器命令的SQL语语句中包含参数,在调用数据适配器的句中包含参数,在调用数据适配器的Fill或或Update方法之前,必须在参数方法之前,必须在参数集中替每一个参数加入一个参数对象,集中替每一个参数加入一个参数对象,并指定参数的名称、数据类型和长度,并指定参数的名称、数据类型和长度,对于对于InsertCommand、UpdateCom

18、mand和和DeleteCommand属性的命令,还必须设置参数所对应属性的命令,还必须设置参数所对应的字段名称,然后再设置参数值。的字段名称,然后再设置参数值。(2)SqlDataAdapter的的SelectCommand、InsertCommand、UpdateCommand和和DeleteCommand属性的类型都是属性的类型都是SqlCommand,可以,可以使用使用SelectCommand.Parameters、InsertCommand.Parameters、UpdateCommand.Parameters和和DeleteCommand.Parameters取得命取得命令的参数

19、集合。令的参数集合。(3)可以使用)可以使用SqlParameter的的Value属性来设置属性来设置SelectCommand命令中的命令中的参数值。参数值。11.211.2存储过程的参数设置存储过程的参数设置存储过程可以拥有输入参数、输出参存储过程可以拥有输入参数、输出参数和返回值。数和返回值。11.2.1数据命令使用包含参数据命令使用包含参数的存储过程执行筛选操作数的存储过程执行筛选操作【实例实例11-4】1设计任务设计任务设计一个窗体,该窗体使用包含参数设计一个窗体,该窗体使用包含参数的存储过程执行数据筛选操作,在的存储过程执行数据筛选操作,在ComboBox控件中选取一个班级编号,下

20、控件中选取一个班级编号,下面的面的ListBox控件会显示对应班级的学生信控件会显示对应班级的学生信息,在息,在TextBox控件中分别显示存储过程的控件中分别显示存储过程的返回值和返回的结果集中所包含的记录数返回值和返回的结果集中所包含的记录数目。窗体的运行效果如图目。窗体的运行效果如图11-5所示。所示。图图11-511-5数据筛选操作窗体的运行效果数据筛选操作窗体的运行效果 2设计过程设计过程(1)新建一个项目)新建一个项目Chapter11_4。(2)在窗体中添加)在窗体中添加1个个ComboBox控控件、件、1个个ListBox控件、控件、2个个TextBox控控件和多个件和多个La

21、bel控件,窗体及控件的控件,窗体及控件的设计外观如图设计外观如图11-6所示。所示。(3)切换到代码窗口,编写程序代)切换到代码窗口,编写程序代码,实现其功能。码,实现其功能。图图11-611-6数据筛选操作窗体的设计状态数据筛选操作窗体的设计状态 大部分程序代码与第大部分程序代码与第6章的实例章的实例6_1相相同,窗体中同,窗体中ComboBox1控件的控件的SelectedIndexChanged事件的程序代码有事件的程序代码有些改变,如代码些改变,如代码11-2-1所示。所示。3代码分析代码分析代码分析如表代码分析如表11-3所示。所示。代代 码码 序序 号号行行 号号代代 码码 分分

22、 析析代代码码11-2-111-2-10505行行声明声明SqlCommandSqlCommand对对象象执执行的是存行的是存储过储过程程0606行行指定了所要指定了所要执执行的存行的存储过储过程的名称,存程的名称,存储过储过程程“SelectStudentDataSelectStudentData”的文本内容的文本内容详见详见第第2 2章章0808行至行至1313行行设设置存置存储过储过程的程的输输入参数入参数1515行至行至1818行行设设置存置存储过储过程的程的输输出参数出参数2020行至行至2323行行设设置存置存储过储过程的返回程的返回值值3333行行读读取取对应对应参数的参数的Va

23、lueValue属性属性值值,取得存,取得存储过储过程的程的返回返回值值3434行行读读取取对应对应参数的参数的ValueValue属性属性值值,取得存,取得存储过储过程的程的输输出参数出参数值值表表11-311-3程序代码分析程序代码分析 4知识要点说明知识要点说明设置存储过程的参数的方法如下。设置存储过程的参数的方法如下。(1)在参数集合中替参数(输入参)在参数集合中替参数(输入参数或者输出参数)或返回值加入一个数或者输出参数)或返回值加入一个参数对象,并声明一个参数对象,并声明一个SqlParameter类型的变量来代表该参数对象。类型的变量来代表该参数对象。(2)设置参数的)设置参数的

24、Direction属性为属性为Input(输入参数)或者(输入参数)或者Output(输(输出参数),对于返回值,则设置为出参数),对于返回值,则设置为ReturnValue。参数对象的。参数对象的Direction属性的默认值是属性的默认值是ParameterDirection.Input,如果没有,如果没有显式指定显式指定Direction属性值,则表示该属性值,则表示该参数为参数为“输入参数输入参数”。(3)设置参数的值。)设置参数的值。11.2.2数据命令使用包含参数据命令使用包含参数的存储过程执行更新操作数的存储过程执行更新操作【实例实例11-5】1设计任务设计任务设计任务与实例设计

25、任务与实例11-2相同,窗体的运相同,窗体的运行效果如图行效果如图11-3所示。所示。2设计过程设计过程(1)新建一个项目)新建一个项目Chapter11_5。(2)窗体及控件的设计外观如图)窗体及控件的设计外观如图11-4所示。所示。(3)切换到代码窗口,编写程序代)切换到代码窗口,编写程序代码,实现其功能。码,实现其功能。实例实例11-5的大部分程序代码与实例的大部分程序代码与实例11-2相似,不同之处是删除了用来新增、修改相似,不同之处是删除了用来新增、修改或删除数据的命令字符串,声明了数据命或删除数据的命令字符串,声明了数据命令执行的是存储过程,指定了存储过程的令执行的是存储过程,指定

26、了存储过程的名称。变化的代码如代码名称。变化的代码如代码11-2-2所示。所示。3代码分析代码分析代码代码11-2-2中的中的“InsertStudentData”、“UpdateStudentData”和和“DeleteStudentData”都是存储过程的名都是存储过程的名称,这些存储过程的文本内容见第称,这些存储过程的文本内容见第2章。章。11.2.3数据适配器命令使用数据适配器命令使用包含参数的存储过程执行更新操包含参数的存储过程执行更新操作作【实例实例11-6】1设计任务设计任务设计任务与实例设计任务与实例11-2相同,窗体的运相同,窗体的运行效果如图行效果如图11-3所示。所示。2

27、设计过程设计过程(1)新建一个项目)新建一个项目Chapter11_6。(2)窗体及控件的设计外观如图)窗体及控件的设计外观如图11-4所示。所示。(3)切换到代码窗口,编写程序代)切换到代码窗口,编写程序代码,实现其功能。码,实现其功能。实例实例11-6的大部分程序代码与实例的大部分程序代码与实例11-3相似,不同之处是删除了用来新增、修改相似,不同之处是删除了用来新增、修改或删除数据的命令字符串,声明了数据适或删除数据的命令字符串,声明了数据适配器命令执行的是存储过程,指定了存储配器命令执行的是存储过程,指定了存储过程的名称。变化的代码如代码过程的名称。变化的代码如代码11-2-3所示。所

28、示。3知识要点说明知识要点说明使用数据适配器对象实现新增、修改使用数据适配器对象实现新增、修改或删除记录数据的操作,并且数据适配器或删除记录数据的操作,并且数据适配器对象的命令执行的是存储过程。对象的命令执行的是存储过程。在编写程序代码时要注意其顺序,必在编写程序代码时要注意其顺序,必须先设置数据适配器的须先设置数据适配器的SelectCommand属属性、性、InsertCommand属性、属性、UpdateCommand属性和属性和DeleteCommand属性,将数据适配器对象命令的属性,将数据适配器对象命令的CommandType的属性设置为的属性设置为CommandType.Stor

29、edProcedure,且指定,且指定存储过程名称,然后才设置存储过程中的存储过程名称,然后才设置存储过程中的各个参数。各个参数。【课堂实践课堂实践】打开光盘中文件夹打开光盘中文件夹【ClassroomPractise11_1】中的解决方案文中的解决方案文件件【ClassroomPractise11_1.sln】,打开该,打开该解决方案中的窗体解决方案中的窗体【frmUsers.vb】,切换,切换到代码窗体,在窗体的到代码窗体,在窗体的Load事件过程中补事件过程中补写程序代码。写程序代码。创建创建SelectCommand、InsertCommand、UpdateCommand和和Delet

30、eCommand命令的参数和命令字符串,命令的参数和命令字符串,且设置数据适配器的且设置数据适配器的SelectCommand属性、属性、InsertCommand属性、属性、UpdateCommand属属性和性和DeleteCommand属性。该窗体的运行属性。该窗体的运行效果如图效果如图11-7所示。所示。图图11-711-7数据访问的参数设置与应用数据访问的参数设置与应用 【课外拓展实践课外拓展实践】参考如图参考如图11-8所示的窗体,设计一个所示的窗体,设计一个图书入库窗体,建议采用包含参数的数据图书入库窗体,建议采用包含参数的数据适配器命令实现图书信息的添加功能。适配器命令实现图书信息的添加功能。图图11-811-8图书入库窗体图书入库窗体 【本章小结本章小结】本章主要介绍了使用包含参数的数据本章主要介绍了使用包含参数的数据命令或存储过程执行数据筛选操作和数据命令或存储过程执行数据筛选操作和数据更新操作,也介绍了包含参数的数据适配更新操作,也介绍了包含参数的数据适配器的操作。器的操作。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com