资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,*,*,Page,*,第,9,章,对数据库和数据表的操作,动态切换所连接的数据库,9.1,使用“服务器资源管理器”创建数据库和数据表,9.2,使用数据命令建立或修改数据库和数据表,9.3,数据定义语言用于定义与管理,SQL Server,数据库对象。要在客户端执行数据定义语句以便对数据库或数据表进行操作,可以事先将数据定义语句输入在存储过程中,然后通过数据命令来执行,或者直接通过数据命令将数据定义语句表达式传送到,SQL Server,执行。,【,知识技能目标,】,(,1,)掌握动态更改所连接的数据库的方法。,(,2,)了解使用“服务器资源管理器”创建数据库和数据表的方法。,(,3,)掌握通过数据命令执行数据定义语句建立或修改数据库和数据表的方法。,【,本章学习导航,】,Microsoft SQL Server,数据库、数据表和存储过程除了可以在,Microsoft SQL Server,的企业管理器中手工创建之外,也可以在,Microsoft SQL Server,的查询分析器中运行,SQL,脚本语句创建。,本章探讨使用,Visual Studio.NET,的“服务器资源管理器”创建数据库和数据表,使用数据命令建立或修改数据库、数据表和存储过程。,9.1,动态切换所连接的数据库,【,实例,9-1】,1,设计任务,设计一个窗体,演示如何动态切换所连接的数据库,该窗体的运行效果如图,9-1,所示。,图,9-1,动态切换数据库窗体的运行效果,在第一个,ComboBox,控件中列出了用户本机所有自定义的数据库,在第二个,ComboBox,控件中列出了第一个,ComboBox,控件中所选取的数据库中所有自定义的数据表,,DataGrid,控件中显示了第二个,ComboBox,控件中所选取的数据表中的数据记录。,如图,9-2,所示为在第一个,ComboBox,控件中动态切换所连接的数据库。,图,9-2,在,ComboBox,控件中切换数据库,2,设计过程,(,1,)新建一个项目,Chapter9_1,。,(,2,)在窗体中添加,2,个,Label,控件、,2,个,ComboBox,控件和,1,个,DataGrid,控件,窗体及控件的设计外观如图,9-1,所示。,(,3,)切换到代码窗口,编写程序代码,实现其功能。,定义窗体级的变量:连接对象和存储查询语句的字符串变量,如代码,9-1-1,所示。,ComboBox1,控件的,SelectedIndexChanged,事件过程的程序代码如代码,9-1-3,所示,这些代码主要实现了动态更改所连接的数据库,并且在第二个,ComboBox,控件中列出所选取数据库中的自定义的数据表。,ComboBox2,控件的,SelectedIndexChanged,事件过程的程序代码如代码,9-1-4,所示,其主要作用是将第二个,ComboBox,控件所选取的数据表中的数据显示在,DataGrid,控件中。,在窗体,Form1,的,Closed,事件中添加一行代码:,conn.Close,(),,用于关闭数据连接。,3,代码分析,代码分析如表,9-1,所示。,代码序号,行号,代 码 分 析,代码,9-1-1,01,行和,02,行,连接字符串中指定连接打开之后所要使用的数据库为,“,JWInfo,”,代码,9-1-2,01,行,From,后面的,“,master.dbo.sysdatabases,”,指定了数据库为,“,master,”,表,9-1,程序代码分析,代码,9-1-3,05,行,调用连接对象,conn,的,ChangeDatabase,方法,动态改变一个已打开连接所使用的数据库,06,行,查询语句用于查询,ComboBox1,控件所选取数据库的数据表,sysobjects,中所有用户自定义的数据表的,“,name,”,字段值,代码,9-1-4,02,行和,03,行,查询命令字符串将数据表名称包含在一对中括号中,是考虑到某些数据表的名称内含有空格,4,知识要点说明,使用连接对象的,ChangeDatabase,方法可以实现动态更改一个已打开的连接所使用的数据库,如果连接尚未打开,则会产生异常。,9.2,使用“服务器资源管理器”创建数据库和数据表,使用,Visual Studio.NET,集成开发环境中的“服务器资源管理器”可以直接创建数据库、数据表、存储过程和视图等对象。,【,实例,9-2】,1,设计任务,使用“服务器资源管理器”创建数据库,BookMis,和数据表,BookInfo,,并且在,BookInfo,表中输入,2,条记录。,2,设计过程,(,1,)新建一个项目,Chapter9_2,。,(,2,)打开,Visual Studio.NET,集成开发环境,如果“服务器资源管理器”没有打开,则在,【,视图,】,菜单中单击菜单项,【,服务器资源管理器,】,,打开“服务器资源管理器”窗口。,(,3,)在“服务器资源管理器”窗口中,先选取,【,数据连接,】,节点,然后单击右键,打开快捷菜单,在快捷菜单中单击菜单项,【,创建新,SQL Server,数据库,】,,如图,9-3,所示。,图,9-3,单击快捷菜单,【,创建新,SQL Server,数据库,】,(,4,)打开,【,创建数据库,】,对话框,然后输入服务器名称和新的数据库名称:,BookMis,,如图,9-4,所示。,图,9-4,“,创建数据库,”,对话框,在,【,创建数据库,】,对话框中单击,【,确定,】,按钮,新创建的数据库便会出现在,【,服务器资源管理器,】,窗口中,如图,9-5,所示。,图,9-5,显示在服务器资源管理器中的数据库,(,5,)接下来新建一个数据表,在“服务器资源管理器”窗口中,先展开新创建的数据库节点,然后选取,【,表,】,节点,接着单击右键,打开快捷菜单,在快捷菜单中单击菜单项,【,新建表,】,,如图,9-6,所示。,图,9-6,“,新建表,”,菜单,(,6,)在“表结构”区域输入数据表的结构数据,如图,9-7,所示。,图,9-7,新建表结构,(,7,)单击,【,保存,】,按钮,保存新建的数据表,打开如图,9-8,所示的,【,选择名称,】,对话框,在该对话框中输入表名称“,BookInfo,”,,然后单击,【,确定,】,按钮。,图,9-8,输入表名称的对话框,(,8,)输入记录数据,如图,9-9,所示,在,【,服务器资源管理器,】,窗口中,先展开,【,表,】,节点,然后选取,【,BookInfo,】,节点,接着单击右键,打开快捷菜单,单击菜单项,【,从表中检索数据,】,。,图,9-9,输入记录数据的菜单,接下来在“记录数据”区域输入新的记录数据,输入完成后单击,【,保存,】,按钮,保存新输入的数据。如图,9-10,所示,输入了两条记录数据。,图,9-10,输入记录数据,9.3,使用数据命令建立或修改数据库和数据表,【,实例,9-3】,1,设计任务,设计一个窗体,演示使用数据命令建立或修改数据库、数据表和存储过程,该窗体的运行效果如图,9-11,所示。,图,9-11,显示数据表的结构信息,在该窗体中先单击,【,建立数据库,】,按钮创建一个新的数据库,BookMis1,,然后单击,【,建立数据表,】,按钮创建一个新的数据表,BookInfo,,接着单击,【,建立存储过程,】,按钮创建一个新的存储过程,InsertBookNum,,最后单击,【,显示结构信息,】,按钮,在窗体中的,DataGrid,控件中显示新建数据表的结构信息,如图,9-11,所示。,2,设计过程,(,1,)新建一个项目,Chapter9_3,。,(,2,)在窗体中添加,4,个,Button,控件和,1,个,DataGrid,控件,窗体及控件的设计外观如图,9-12,所示。,(,3,)切换到代码窗口,编写程序代码,实现其功能。,图,9-12,使用数据命令建立数据库的窗体,【,建立数据库,】,按钮,Click,事件过程的程序代码如代码,9-3-2,所示。,【,建立数据表,】,按钮,Click,事件过程的程序代码如代码,9-3-3,所示。,【,建立存储过程,】Click,事件过程的程序代码如代码,9-3-4,所示。,【,显示结构信息,】,按钮,Click,事件过程的程序代码如代码,9-3-5,所示。,3,代码分析,代码分析如表,9-2,所示。,代码序号,行 号,代 码 分 析,代码,9-3-2,07,行和,13,行,“,Application.StartupPath,”,表示当前项目文件夹中,“,bin,”,子文件夹的绝对路径,代码,9-3-5,09,行,调用,SqlDataReader.GetSchemaTable,方法来返回一个内含结构描述信息的,DataTable,表,9-2,程序代码分析,4,知识要点说明,调用,SqlCommand,对象的,ExecuteNonQuery,方法来执行数据定义语句建立或修改数据库结构时,如果该操作成功执行,则返回,-1,;如果该操作失败,则返回,0,。,【,课堂实践,】,打开光盘中文件夹,【ClassroomPractise9_1】,中的解决方案文件,【ClassroomPractise9_1.sln】,,打开该解决方案中的窗体,【Form1.vb】,,切换到代码窗体,在,【,建立存储过程,】,按钮的,Click,事件过程补写程序代码建立一个显示“用户”数据表中所有数据的存储过程,该存储过程的执行结果如图,9-13,所示。,图,9-13,新建存储过程的执行结果,然后在,【,显示结构信息,】,按钮的,Click,事件过程中补写程序代码以显示“用户”数据表的结构信息,如图,9-14,所示。,图,9-14,显示数据表的结构信息,【,本章小结,】,本章介绍了如何动态更改所连接的数据库,如何使用“服务器资源管理器”创建数据库和数据表以及如何通过数据命令执行数据定义语句表达式来建立或修改数据库和数据表。,
展开阅读全文