您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 销售管理 > 通过ODBC方式访问数据库
通过ODBC方式访问数据库一、、实验条件与环境1.通用PC机2.PC机必须安装Windows2000系列、WindowsXP系列或WindowsNT操作系统平台3.PC机还须安装MicrosoftSQLServer2000任意一版本(个人版、标准版、企业版)4.PC机还须安装VB、VC、C++Builder、Dehpi等面向对象的可视化程序设计软件5.最好有一台公用的SQLServer2000服务器二、实验目的1.通过上机实验了解可视化程序设计语言对数据库进行访问的常用方法2.通过上机实验掌握软件开发工具面向用户提供的ODBC对象接口的概念及其作用3.通过上机实验熟悉SQL语句在面向对象编程语言中的使用4.通过上机实验熟悉通过ODBC接口访问数据库并对数据库进行操作5.通过上机实验熟悉使用ODBC来进行数据库应用程序的设计6.通过上机实验熟悉数据源的概念及数据源的创建方法7.通过上机实验熟悉ADODATA控件的主要属性、事件、方法及其使用三、实验要求:1.要求学生至少熟悉一门面向对象的可视化程序设计语言(如:VB、VC、C++Builder、Dehpi等)2.做本实验前,要求学生充分作好ADODATA控件、ODBC数据接口及数据源等相关内容的预习工作3.本实验涉及的实验内容最好能在2课时内完成4.实验完成后需要书写实验报告,本次实验报告需在下次实验课堂上上交四、通过ODBC方式访问数据库并进行各种数据操作的一个实例建立一个名为MyDB的数据库,然后在此数据库中建立一个名为S的数据表,有关数据表S的属性描述为:Sno,学号,数据类型为char(10);Sname,姓名,数据类型为char(8);Ssex,性别,数据类型为char(2);BirthDay,生日,数据类型为datetime(8)。创建一个名为Students的数据源,然后利用可视化程序设计语言设计一个用户操作界面,通过ODBC数据接口和ADODATA实现对数据库MyDB中数据表S的查询、插入、删除、修改等数据操作。实现过程说明:本功能的实现采用MicrosoftSQLServer2000作为数据库管理系统,采用VB作为用户操作界面的软件开发工具。计算机操作系统为Windows2000Professional。实现步骤:1.为数据库MyDB中S数据表创建名为Students的数据源打开“开始/设置/控制面板/管理工具/数据源(ODBC)”,然后按照系统的提示,逐步进行设置,最终创建数据源Students。1)鼠标双击“数据源(ODBC)”图标,出现“ODBC数据源管理器”界面(见图1);2)鼠标单击“ODBC数据源管理器”界面的“添加”按钮,出现“创建数据源”界面(见图2),在此界面中选择安装数据源的驱动程序类别为“SQLServer”;3)鼠标单击“创建数据源”界面的“完成”按钮,出现“建立新的数据源到SQLServer”界面(见图3),在此界面中设置好数据源的名称、描述信息及服务器的名称等参数;4)鼠标单击图3界面的“下一步”按钮,出现图3界面的一个子界面,界面标题栏的名称也为“建立新的数据源到SQLServer”(见图4),在此界面中设置好数据源的登陆模式及登陆时的用户名和密码等参数;5)鼠标单击图4界面的“下一步”按钮,出现图3界面的一个子界面,界面标题栏的名称也为“建立新的数据源到SQLServer”(见图5),在此界面中选定可选项“更改默认的数据库为”,并设置好更改默认的数据库为MyDB,设置情况如图5所示;图1图2图3图4图56)鼠标单击图5界面的“下一步”按钮,出现图3界面的一个子界面,界面标题栏的名称也为“建立新的数据源到SQLServer”(见图6),在此界面中所有可选项按其默认值选定,不需作改动;7)鼠标单击图6界面的“完成”按钮,出现“ODBCMicrosoftSQLServer安装”界面(见图7);8)鼠标单击图7界面的“测试数据源”按钮,出现“SQLServerODBC数据源测试”界面(见图8);9)鼠标单击图8界面的“确定”按钮,数据源Students就建立起来了。2.利用VB编程语言创建数据库应用程序用户操作界面在VB中创建的用户操作界面如下图9所示。界面中涉及到的控件有以下这些(其含义和功能作用参见软件界面图9):1)Frame控件FrameCond2)Frame控件FrameOpt3)DataGrid控件4)Label控件Label1控件数组,Index范围为0至5图6图7图85)TextBox控件TxtSno6)TextBox控件TxtSname7)OptionButton控件OptSsex控件数组,Index范围为0至18)ComboBox控件控件数组,Index范围为0至29)CommandButton控件CmdOpt控件数组,Index范围为0至410)Adodc控件AdodcODBC(设置为不可见模式)◆常量、变量定义ConstStrDSN=Provider=MSDASQL.1;PersistSecurityInfo=False;UserID=sa;password=sa;DataSource=Students;Mode=ReadWriteConstStrRst=select*fromsDimConnAsNewADODB.ConnectionDimRstAsNewADODB.Recordset◆设置数据操作控件的相应属性AdodcODBC.ConnectionString=StrDSNAdodcODBC.RecordSource=StrRstDataGridQuery.DataSource=AdodcODBC◆主要控件事件代码说明1)窗体装载事件及代码PrivateSubForm_Load()AdodcODBC.ConnectionString=StrDSN图9数据库应用程序用户操作界面DataGridQueryFrameOptFrameCondTxtSnoTxtSnameOptSsex(0),OptSsex(1)ComboDate(0),ComboDate(1),ComboDate(2)CmdOpt(0)CmdOpt(1)CmdOpt(2)CmdOpt(3)CmdOpt(4)AdodcODBC.RecordSource=StrRstFori=1970To2005ComboDate(0).AddItemiNextiFori=1To12ComboDate(1).AddItemiNextiFori=1To31ComboDate(2).AddItemiNextiConn.OpenStrDSNRst.CursorType=adOpenDynamicRst.CursorLocation=adUseClientRst.LockType=adLockOptimisticRst.ActiveConnection=ConnRst.OpenStrRstEndSub2)窗体卸载事件及代码PrivateSubForm_Unload(CancelAsInteger)Rst.CloseConn.CloseEndSub3)数据网格控件DataGridQuery中数据发生更新时触发的事件及代码PrivateSubDataGridQuery_AfterUpdate()IfDataGridQuery.Row-1ThenAdodcODBC.Recordset.UpdateEndIfEndSub4)进行数据操作(查询、插入、删除、修改)及设置操作条件的事件及代码说明:查询操作可以不带条件查询,可以基于学号查询,可以基于姓名查询,可以基于性别查询,还可基于学号、姓名、性别三条件联合查询;插入操作要求用户将一个学生信息填写完整后才能进行;删除操作只能基于两个条件进行,一个是基于学号的删除,另一个是基于性别的删除;修改操作直接在数据网格控件DataGridQuery上直接进行,但本软件不提供修改操作时对修改项进行数据合法性检查的功能;可以通过点击软件界面上的“条件复原”按钮进行操作条件的复原和设置。PrivateSubCmdOpt_Click(IndexAsInteger)DimQuerycondition,TmpStrAsStringSelectCaseIndexCase0‘数据查询操作Fori=3To5Label1(i).Enabled=FalseComboDate(i-3).Enabled=FalseNextiIfTxtSno.Text=AndTxtSname.Text=AndOptSsex(0).Value=FalseAndOptSsex(1).Value=FalseThenQuerycondition=select*fromsEndIfIfTxtSno.TextAndTxtSname.Text=AndOptSsex(0).Value=FalseAndOptSsex(1).Value=FalseThenQuerycondition=select*fromswheresno=&'&Trim(TxtSno.Text)&'EndIfIfTxtSno.Text=AndTxtSname.TextAndOptSsex(0).Value=FalseAndOptSsex(1).Value=FalseThenQuerycondition=select*fromswheresname=&'&Trim(TxtSname.Text)&'EndIfIfTxtSno.Text=AndTxtSname.Text=AndOptSsex(0).Value=TrueAndOptSsex(1).Value=FalseThenQuerycondition=select*fromswheressex=&'&Trim(OptSsex(0).Caption)&'EndIfIfTxtSno.Text=AndTxtSname.Text=AndOptSsex(0).Value=FalseAndOptSsex(1).Value=TrueThenQuerycondition=select*fromswheressex=&'&Trim(OptSsex(1).Caption)&'EndIfIfTxtSno.TextAndTxtSname.TextAndOptSsex(0).Value=FalseAndOptSsex(1).Value=FalseThenQuerycondition=select*fromswheresno=&'&Trim(TxtSno.Text)&'&andsname=&'&Trim(TxtSname.Text)&'EndIfIfTxtSno.TextAndTxtSname.Text=AndOptSsex(0).Value=TrueAndOptSsex(1).Value=FalseThenQuerycondition=select*fromswheresno=&'&Trim(TxtSno.Text)&'&andssex=&'&Trim(OptSsex(0).Caption)&'EndIfIfTxtSno.TextAndTxtSname.Text=AndOptSsex(0).Value=FalseAndOptSsex(1).Value=TrueThenQuerycondition=select*fromswheresno=&'&Trim(TxtSno.Text)&'&andssex=&'&Trim(OptSsex(1).Caption)&'EndIfIfTxtSno.Text=AndTxtSname.TextAndOptSsex(0).Value=TrueAndOptSsex(1).Value=FalseThenQuerycondition=select*fromswheresname=&'&Trim(TxtSname.Text)&'&andssex=&'&Trim(OptSsex(0).Caption)&'EndIfIfTxtSno.Text=AndTxt
本文标题:通过ODBC方式访问数据库
链接地址:https://www.777doc.com/doc-2007481 .html