首页 VB神童教程-(数据库)

VB神童教程-(数据库)

举报
开通vip

VB神童教程-(数据库)vb神童教程 目录 1序 4第一部分:vb数据库操作实例 4vb神童教程(续)--编写一个小型的信息管理系统 4vb神童教程(续)--准备数据库 5vb神童教程(续)--设计系统的界面及对象的属性 8vb神童教程(续)--为对象添加事件代码 15第二部分:补充内容 15vb神童教程(续)--ODBC数据源简介 17vb神童教程(续)--配置Access数据源 18vb神童教程(续)---配置SQL Server数据源 20vb神童教程(续)--VB的ADO对象 25vb...

VB神童教程-(数据库)
vb神童教程 目录 工贸企业有限空间作业目录特种设备作业人员作业种类与目录特种设备作业人员目录1类医疗器械目录高值医用耗材参考目录 1序 4第一部分:vb数据库操作实例 4vb神童教程(续)--编写一个小型的信息管理系统 4vb神童教程(续)--准备数据库 5vb神童教程(续)-- 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 系统的界面及对象的属性 8vb神童教程(续)--为对象添加事件代码 15第二部分:补充内容 15vb神童教程(续)--ODBC数据源简介 17vb神童教程(续)--配置Access数据源 18vb神童教程(续)---配置SQL Server数据源 20vb神童教程(续)--VB的ADO对象 25vb神童教程(续)--vb adodb Connection对象简介 33vb神童教程(续)--vb连接Access数据库实例 37vb神童教程(续)--使用ADO Data控件连接Access的简单实例 序 vb数据库操作是初学者普遍感到头疼的地方,因为现有的vb教材和资料中的数据库操作这部分,多是泛泛而谈或是一带而过。因此就想组织一个包括添加、修改、删除这些基本功能的数据库操作实例供大家参考。 久已未用vb6,机器里已经装上了VS 2008,再改回vb6,感觉实在是怪怪的。还好有朋友帮忙,感谢“小二黑”网友供稿! 也许有朋友觉得vb6版本已经很低了,做这个事还有意义吗?其实对微软来说,vb5是vb,vb6是vb,VS.net中的vb.net也是vb;而对于许多初学者来说,vb只是vb6,为什么这么说呢?因为对于许多不了解编程的朋友来说,似乎vb就是编程的代名词,学编程的第一反应就是学vb,而民间的电脑培训学校开设的多数都是vb6课程,那么他们学到的都是vb6;同时计算机等级考试也可以用vb6来过级,有相当部分的朋友是为了考证而学编程的,你相信他会放着简单易学的vb6不学,而去研究庞大的.NET吗? 因此我觉得这个事还是值得去做的,所以就有了下面这几篇文章。 祝朋友们学习愉快! Admin 2008.12 第一部分:vb数据库操作实例 vb神童教程(续)--编写一个小型的信息管理系统 vb神童教程(续)--准备数据库 vb神童教程(续)--设计系统的界面及对象的属性 vb神童教程(续)--为对象添加事件代码 第二部分:补充内容 vb神童教程(续)--ODBC数据源简介 vb神童教程(续)--配置Access数据源 vb神童教程(续)---配置SQL Server数据源 vb神童教程(续)--VB的ADO对象 vb神童教程(续)--vb adodb Connection对象简介 vb神童教程(续)--vb连接Access数据库实例 vb神童教程(续)--使用ADO Data控件连接Access的简单实例 附录一: ·vb神童教程:跟我来学VB ·vb神童教程第二章第十二节——综合示例五 ·vb神童教程第一章:我的第一个 VB 程序 ·vb神童教程第二章第十三节——Timer 控件 ·vb神童教程第二章第一节——Label 控件 ·vb神童教程第二章第十四节——文件操作控件 ·vb神童教程第二章第二节——TextBox控件 ·vb神童教程第二章第十五节——窗体 ·vb神童教程第二章第三节——综合示例一 ·vb神童教程第三章第一节——图形框与图像框控件 ·vb神童教程第二章第四节——CommandButton 控件 ·vb神童教程第三章第二节——综合示例六 ·vb神童教程第二章第五节——单选与复选控件 ·vb神童教程第三章第三节——直线与形状控件 ·vb神童教程第二章第六节——综合示例二 ·vb神童教程第三章第四节——常用的绘图方法 ·vb神童教程第二章第七节——列表框控件 ·vb神童教程第四章第一节——菜单界面设计 ·vb神童教程第二章第八节——组合框控件 ·vb神童教程第四章第二节——综合示例七 ·vb神童教程第二章第九节——综合示例三 ·vb神童教程第四章第三节——动态增减菜单 ·vb神童教程第二章第十节——综合示例四 ·vb神童教程第四章第四节——基本的窗体操作 ·vb神童教程第二章第十一节——滚动条 ·vb神童教程第四章第五节——多文档程序 附录二: ·vb的简介 ·vb变量、常数和数据类型及过程概述(一) ·vb的运行环境 ·vb变量、常数和数据类型及过程概述(二) ·vb的属性、方法和事件(一) ·vb变量、常数和数据类型及过程概述(三) ·vb的属性、方法和事件(二) ·vb变量、常数和数据类型及过程概述(四) ·vb的属性、方法和事件(三) ·vb变量、常数和数据类型及过程概述(五) ·vb的属性、方法和事件(四) ·vb变量、常数和数据类型及过程概述(六) ·vb的属性、方法和事件(五) ·vb变量、常数和数据类型及过程概述(七) ·vb的属性、方法和事件(六) ·vb变量、常数和数据类型及过程概述(八) ·vb工程管理(一) ·vb变量、常数和数据类型及过程概述(九) ·vb工程管理(二) ·vb变量、常数和数据类型及过程概述(十) ·vb工程管理(三) ·vb变量、常数和数据类型及过程概述(十一) ·vb编码(一) ·vb变量、常数和数据类型及过程概述(十二) ·vb编码(二) ·vb应用程序的结构 ·vb控制结构概述 ·vb的工具栏、对话框(一) ·vb对象的使用(一) ·vb的工具栏、对话框(二) ·vb对象的使用(二) ·vb控件简介 vb的控件数据 ·vb的用户界面(一) ·vb控件的使用(一) vb控件的使用(二) ·vb的用户界面(二) ·vb的DataCombo和DataList控件的使用(一) ·vb的按钮控件 frame的用法 vb的FlexGrid控件 ·vb的DataCombo和DataList控件的使用(二) ·vb的datagrid控件的使用(一) ·vb的CommonDialog控件的使用(一) ·vb的datagrid控件的使用(二) ·vb的CommonDialog控件的使用(二) ·vb的datagrid控件的使用(三) ·FlexGrid控件的使用(一) ·vb的datagrid控件的使用(四) ·FlexGrid控件的使用(二) ·vb的datagrid控件的使用(五) ·FlexGrid控件的使用(三) 附录三: vb涉及到数据库应用,许多人首先会使用Data控件。但我并不喜欢这个控件,一方面它使用的是DAO,我觉得使用ADODB好些吧;另一方面如果你如果使用的是Access 2003或Access 2007这些高版本的Acesss,Data控件识别不了。这个问 快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题 的解决方法一是把数据库转换成ac97-ac2000格式,另一个方法是给vb打补丁,反正都够麻烦的了。想了解Data控件而又不想转换数据库格式的朋友,可以打上补丁试一下,打补丁的顺序是从低到高,先sp5后sp6。 第一部分:vb数据库操作实例 vb神童教程(续)--编写一个小型的信息管理系统 受委托为编程入门网做一个简单的vb操作数据库的实例,来演示一下如何用vb向数据库中添加、修改、删除记录这些操作。我觉得自己是比较菜的,几年来别人都在进步,只有我还在原地踏步。不过没有办法,我们这一圈人里现在只有我机器上还有vb6,勉为其难,只有尝试一下了。如果我写的这点幼稚的东西能为想要了解vb数据库操作的朋友提供哪怕是一丁点儿的参考和帮助,将是我最为高兴的事情,同时也希望高手不要见笑。 我做的这个实例名为“编程入门网网址管理系统”,算是一个小型的信息管理系统吧。该系统后台使用的是Access数据库,程序中使用ADO代码链接的形式连接Access。该系统具有向数据库中添加、修改、删除记录的功能,进行某项操作后能够实时刷新显示数据。并在程序中加了相应的代码对输入的数据进行合法性校验,以避免输入错误的数据造成程序运行不正常,程序运行时各个操作及退出系统时均有友好的提示框请用户确认。所有代码均在Windows 2003+Vusual Basic 6.0环境下调试通过。 系统运行时如下图: vb神童教程(续)--准备数据库 我用的是Access 2003,因为需要讲解的仅仅是数据的添加、修改及删除,因此单数据库、单表就够了。如果以后您要编写更复杂一些的信息管理系统而涉及到多表操作,则您还需要补充一些关系数据库方面的知识,比如实体、一对一联系、一对多联系等等;此外,对sql语言也需要有所了解。具体您可以参考:数据库基础知识ABC。 首先,在“我的电脑”的e盘新建一个名为vb文件夹,先打开Access,新建一个名为Access_db的数据库(Access数据库文件的扩展名是.mdb),保存到刚才建立的文件夹中,则以后在程序中调用数据源的位置为E:\vb\Access_db.mdb。 然后在Access_db.mdb中建立一个名为wzdz的表(wzdz是“网站地址”的首字母缩写), 然后在wzdz表中添加网站名称、网站地址及网站描述三个字段,三个字段的属性是相同的,如下: ▲数据类型:文本。 ▲字段大小:50 ▲有效性规则:无。 ▲必填字段:否 ▲允许空字符串:否 ▲索引:无 “编号”这个字段使用的是Access的自动编号,并将其作为主键。也就是说,您在表中设置以上三个字段即可,设置完毕保存表时,按Access的提示添加主键,Access会自动为您搞定。具体操作您可以参考:vb神童教程(续)--vb连接Access数据库实例 这样在建立了数据库及表结构之后,即使是调用没有记录的空库,系统也可以无差错运行,可以在运行时通过“添加记录”按钮向数据库中添加记录。不过由于数据库是空的,系统第一次运行时数据显示控件没有数据可显示,显得空荡荡的,不太美观哦。为了方便起见,我们在Access中给wzdz表中预先添加两条初始记录: 编号 网站名称 网站地址 网站描述 1 编程入门网 http://bianceng.cn 各种编程文档、电脑教程及软件应用技巧,您的电脑技术加油站! 2 健康生活网 www.health163.org 您的健康 指南 验证指南下载验证指南下载验证指南下载星度指南下载审查指南PDF 添加的方法很简单:在Access的设计器中直接双击wzdz表名,在出来的窗口中添加即可。添加时注意:因为我们使用的是Access的自动编号做主键,所以在添加时不用理“编号”这个字段,直接添加后三个字段即可。 下一步的工作,是设计系统的界面及设置各个对象的属性。 vb神童教程(续)--设计系统的界面及对象的属性 本系统是一个很简单的数据库操作实例,能够对数据库的添加、修改及删除记录这几个基本的操作。系统使用数据显示控件MSHFlexGrid显示数据库中的记录,使用数据链接控件Adodc链接数据库作为MSHFlexGrid的数据源,使用文本框来接收系统运行时用户输入的数据。 步骤如下: 一、启动vb6,新建一个 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 exe工程,并将工程中的form1的caption属性设置为“编程入门网网址管理系统”,width属性值设为7950,height属性值设为4620。 二、向窗体中添加一个Adodc控件。如果在工具箱中找不到Adodc控件,可以右击工具箱,选择“部件...”菜单项,然后在“部件”窗口的“控件”选项卡中选中“Microsoft ADO Data Control6.0(OLEDB)”。 在VB的属性窗口我们对Adodc控件的三个个属性值进行编辑,其余属性值使用默认的即可: 1、ConnectionString属性值设为:Provider=Microsoft.Jet.OLEDB.4.0;Data Source=E:\vb\Access_db.mdb;Persist Security Info=False 这个属性设置了连接Access_db.mdb这个数据库。 2、RecordSourc属性值设为:select * from wzdz 这个属性值中的sql语句的作用是查询出wzdz表中的所有记录。 3、Visible属性值设为False,作用是使其在运行时不可见。 三、向窗体添加一个MSHFlexGrid控件,如果工具箱中没有MSHFlexGrid控件,可以右击工具箱,选择“部件...”菜单项,然后在“部件”窗口的“控件”选项卡中选中“Microsoft Hierarchical FlexGrid Control 6.0 ”。然后在vb的属性窗口中将MSHFlexGrid控件的名称修改为MS1,如下图: 然后对MSHFlexGrid控件进行如下设置: 1、DataSource属性:在vb的属性窗口中将其值设为Adodc1,即使用Adodc控件作为其数据源。 2、BackColorBkg属性:在vb的属性窗口中将其值设为&H00FFE0E0&,这是设置的MSHFlexGrid控件的底色。 3、BackColorFixed属性:在vb的属性窗口中将其值设为&H00C0FFFF&,这是设置的MSHFlexGrid控件的显示标题的底色。 4、width属性:在vb的属性窗口中将其值设为7695. 5、Height属性:在vb的属性窗口中将其值设为2175. 6、右击MSHFlexGrid控件,在弹出的菜单中选“属性”,在弹出的“属性页”对话框的在“通用”选项卡中修改行为4,修改列为4,修改固定行为0,修改固定列为0。如果数据链接正常,在“属性页”对话框的“带区”选项卡中可以看到列标题和列名称已经设置了,这里注意应该将“带区”选项卡中的“列标头”选项勾选上,否则运行时无法显示列标题,如下图。“属性页”对话框的其它部分使用默认值即可。 四、向窗体中添加4个Label控件(标签),在vb的属性窗口为它们设置以下属性: 1、caption属性:分别设置为网站名称、网站地址、网站描述及编号。 2、Alignment属性:均设为“2-Center”。 3、AutoSize属性:均设为True。 五、向窗体中添加4个TextBox控件(文本框),并调整它们的位置成一排与4个标签相对应,即:网站名称→Text1,网站地址→Text2,网站描述→Text3,编号→Text4。 六、向窗体中添加4个CommandButton控件(命令按钮),将它们的caption属性分别设置为“添加记录”、“修改记录”、“删除记录”和“退出系统”,并调整它们的位置成一排,放在文本框的下方。 七、在两排文本框和命令按钮中间,添加一个Line控件,适当拖动其两端的控制点将长短调整至适当,并将其BorderColor属性性设为&H00C00000&,作用是把文本框和命令按钮隔开,这样在视觉上似乎能好看些。 八、所有控件设置完毕后,界面如下图所示: 下一步的工作,是为对象添加事件代码。 vb神童教程(续)--为对象添加事件代码 一、form1的load事件代码: Private Sub Form_Load() Form1.MS1.ColWidth(0) = 600 Form1.MS1.ColWidth(1) = 1000 Form1.MS1.ColWidth(2) = 2300 Form1.MS1.ColWidth(3) = 4000 Form1.Text1.Text = "" Form1.Text2.Text = "" Form1.Text3.Text = "" Form1.Text4.Text = "" End Sub主要是在系统初始化时设置MSHFlexGrid控件的列宽,并将文本框置空。 二、“添加记录”按钮(command1)的click事件代码: Private Sub Command1_Click() Dim sc As Integer If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Then '即网站名称、网站地址和网站描述的内容必须填全了才打开数据库连接写入数据 '由于系统数据库设计为“编号”字段采用的是Access的自动编号 '因此在添加记录时不接收编号的数据,由Access自动加编号 MsgBox ("请输入完整的网站信息") Else sc = MsgBox("确实要添加这条记录吗?", vbOKCancel, "提示信息") If sc = 1 Then '运行时如果用户点击的是MsgBox提示框的“确定”按钮,返回值是1 Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim Str1 As String Dim Str2 As String Dim Str3 As String Str1 = "Provider=Microsoft.Jet.OLEDB.4.0;" Str2 = "Data Source=E:\vb\Access_db.mdb;" Str3 = "Jet OLEDB:Database Password=" conn.Open Str1 & Str2 & Str3 strSQL = "select * from wzdz" rs.Open strSQL, conn, 3, 3 rs.AddNew rs!网站名称 = Text1.Text rs!网站地址 = Text2.Text rs!网站描述 = Text3.Text rs.Update rs.Close conn.Close MsgBox ("添加记录成功!") Adodc1.Refresh '刷新数据源,MSHFlexGrid控件会实时刷新显示数据 End If '以下四条语句的作用是在操作完成后将文本框置空 Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" End If End Sub三、“修改记录”按钮(command2)的click事件代码: Private Sub Command2_Click() If Not IsNumeric(Text4.Text) Or Val(Text4.Text) = 0 Then '编号字段是Access的自动编号,为自然数 '因此对text4的内容进行校验,如果不是数值或为0则跳出sub过程 MsgBox "记录号是大于0的自然数,请输入正确的编号!" Exit Sub End If If Text1.Text = "" Or Text2.Text = "" Or Text3.Text = "" Then '对三个文本框的内容进行校验,不接收空值 MsgBox "请输入完整的网站信息!" Exit Sub End If Dim sc As Integer sc = MsgBox("确实修改这条记录吗?", vbOKCancel, "提示信息") If sc = 1 Then '运行时如果用户点击的是MsgBox提示框的“确定”按钮,返回值是1 Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim Str1 As String Dim Str2 As String Dim Str3 As String Str1 = "Provider=Microsoft.Jet.OLEDB.4.0;" Str2 = "Data Source=E:\vb\Access_db.mdb;" Str3 = "Jet OLEDB:Database Password=" conn.Open Str1 & Str2 & Str3 strSQL = "select * from wzdz where 编号=" & Val(Text4.Text) & "" rs.Open strSQL, conn, 3, 3 If rs!编号 = Val(Text4.Text) Then '由于系统数据库使用的是自动编号作为主键 '因此以编号字段的内容作为判断的依据 '如果rs!编号 = Val(Text4.Text)说明数据库中有此记录, '才会修改其它三个字段的内容 '否则给出“不存在此记录”的提示信息并关闭数据连接 rs!网站名称 = Text1.Text rs!网站地址 = Text2.Text rs!网站描述 = Text3.Text rs.Update rs.Close conn.Close MsgBox ("修改记录成功!") Adodc1.Refresh '刷新数据源,MSHFlexGrid控件会实时刷新显示数据 Else MsgBox ("不存在此记录!") Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" rs.Close conn.Close Exit Sub End If End If '以下四条语句的作用是在操作完成后将文本框置空 Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" End Sub四、“删除记录”按钮(command3)的click事件代码: Private Sub Command3_Click() If Not IsNumeric(Text4.Text) Or Val(Text4.Text) = 0 Then '编号字段是Access的自动编号,为自然数 '因此对text4的内容进行校验,如果不是数值或为0则跳出sub过程 MsgBox "编号是大于0的自然数,请输入正确的编号!" Exit Sub End If Dim sc As Integer sc = MsgBox("确实要删除这个记录吗?", vbOKCancel, "删除确认!") If sc = 1 Then '运行时如果用户点击的是MsgBox提示框的“确定”按钮,返回值是1 Dim conn As New ADODB.Connection Dim rs As New ADODB.Recordset Dim Str1 As String Dim Str2 As String Dim Str3 As String Str1 = "Provider=Microsoft.Jet.OLEDB.4.0;" Str2 = "Data Source=E:\vb\Access_db.mdb;" Str3 = "Jet OLEDB:Database Password=" conn.Open Str1 & Str2 & Str3 strSQL = "select * from wzdz where 编号=" & Val(Text4.Text) & "" rs.Open strSQL, conn, 3, 3 If rs!编号 = Val(Text4.Text) Then '由于系统数据库使用的是自动编号作为主键 '因此以编号字段的内容作为判断的依据 '如果rs!编号 = Val(Text4.Text)说明数据库中有此记录并进行删除操作 '否则给“不存在此记录”的提示信息并关闭数据连接 rs.Delete rs.Close conn.Close MsgBox ("删除记录成功!") Adodc1.Refresh '刷新数据源,MSHFlexGrid控件会实时刷新显示数据 Else MsgBox ("不存在此记录!") Text4.Text = "" rs.Close conn.Close Exit Sub End If End If '以下四条语句的作用是在操作完成后将文本框置空 Text1.Text = "" Text2.Text = "" Text3.Text = "" Text4.Text = "" End Sub五、“退出系统”按钮(command4)的click事件代码: Private Sub Command4_Click() Dim sc As Integer sc = MsgBox("确实要退出系统吗?", vbOKCancel, "提示信息") If sc = 1 Then '运行时如果用户点击的是MsgBox提示框的“确定”按钮,返回值是1 End End If End Sub 六、添加完事件代码之后,我们这个实例至此完成,运行一下吧! 第二部分:补充内容 vb神童教程(续)--ODBC数据源简介 ODBC(开放式数据库连接)是一种应用程序的接口(API)。这种接口提供了独立于任何的数据管理系统编写应用程序的能力。OCBC通过ODBC驱动程序提供了对不同的数据库供应商的一组应用程序接口来给特殊的数据库管理系统(DBMS)。用户的应用程序使用这组API来调度ODBC驱动程序。然后驱动程序通过SQL语句同DBMS发生联系。 下面我们开始介绍ODBC数据源。在“我的电脑”中打开“控制面板”中的“管理工具”,在窗口中即可见ODBC数据源图标。 双击打开ODBC数据源管理器,如下图所示: ODBC数据源管理器为配置、添加、删除各种不同的数据源名称提供了最为简洁的方法。它使得用户可以轻松地完成数据源的配置工作,用户也可以删除原有的DSN(数据源名称),或对先前配置的数据源进行修改。ODBC数据源管理器的具体功能如下: ▲用户DSN:ODBC用户数据源存储了如何与指定数据提供者连接的信息。用户数据源只对当前的用户可见,而且只能应用在本机上。 ▲系统DSN:ODBC系统数据源存储了如何与指定数据提供者连接的信息。系统数据源对当前机器上的所有用户可见。 ▲文件DSN:ODBC文件数据源允许用户连接数据提供者。文件DSN可以由安装了相同驱动程序的用户共享。 ▲驱动程序:ODBC驱动程序允许那些支持ODBC的程序通过ODBC数据源获取信息。如果安装新的驱动程序,要使用其安装程序。 ▲跟踪:ODBC跟踪允许创建调用ODBC驱动程序的日志,以供技术人员查看;也可以辅助调试应用程序。Visual Studio跟踪启动Microsoft Visual Studio的ODBC跟踪。 ▲连接池:连接池允许应用程序重新打开连接句柄,此操作将往返过程存入服务器。 本文来自-编程入门网:http://www.bianceng.cn/Programming/vb/200812/11126.htm vb神童教程(续)--配置Access数据源 (1)打开控制面板中的ODBC数据源管理器,在“用户DSN”(即“用户数据源”)中选择“MS Access Database”选项,可心删除或配置一个已有的用户数据,这里我们将要添加一个数据源。 (2)单击添加按钮,系统将准备在MS Access Database下添加一个用户数据源,为了安装数据源,会弹出创建新数据源窗口,如下图: (3)在创建新数据源窗口中,选择"Microsoft Access Driver"来安装数据源。 (4)单击“完成”按钮,进入ODBC Microsoft Access安装窗口,如下图: ▲在“数据源名”项中键入数据源的名称,这里我们键入“Access_db”作为数据源名。 ▲在“描述”项中键入对数据源的描述,此处内容可选,这里我们键入“This is Access database temp”。 ▲在“数据库”项中可以选取、创建、修复或者压缩数据库。这里我们选择“选取”按钮来选取相应的Access数据库。如果用户没有自己建立的Access数据库,那么用户可以到安装Access的目录下面选取Access自带的数据库。注意:Access数据库文件的扩展名是.mdb。 ▲最后,单击“确定”按钮。至此一个新的Access数据源已经添加完成,如下图: 说明:如果用户希望所创建的数据源名被本机中的多个用户所使用,请用户添加系统DSN。在实际情况中,开发一个单机单用户的系统没有什么意义,所以一般都需要对系统DSN进行配置。系统DSN的添加过程同用户DSN添加过程类似。 本文来自-编程入门网:http://www.bianceng.cn/Programming/vb/200812/11125.htm vb神童教程(续)---配置SQL Server数据源 配置SQL Server数据源的步骤: (1) 打开控制面板中的ODBC数据源管理器,单击“添加”按钮来添加一个数据源。 (2)单击添加按钮后,系统将准备添加一个用户数据源。为了安装数据源,会弹出创建新数据源窗口,如下图所示。由于VB和SQL Server的系列性,所以即使用户没有安装SQL Server,在创建新数据源窗口中也列有SQL Server这一项。当然,这里的列表项只是起了一个标识作用,如果用户尚未安装SQL Server,请先安装后再进行以下的步骤。 (3)在上图选择“SQL Server”后,单击“完成”按钮,进入“创建新的数据源到SQL Server”窗口,如下图所示: ▲在“名称”项中键入新的数据源名,这里我们键入SQL Server1作为新数据源名称。 ▲在“描述”项中键入对数据源的描述,此处可以不填。 ▲在“服务器”项中键入想连接的SQL Server服务器。如果要连接的SQL Server是安装在本机上,那么就从下拉框中选择“Local”,local表示的是连接到本地的服务器。如果要连接的SQL Server是安装在其它的服务器上,那么就应从下拉框中选取相应的选项。如果从列表中选择服务器名称,则不需要更多的配置。如果输入一个不存在的服务器的名字作为SQL Client Configuration Utility中的一项,可在向导的下一个屏幕上为新名字创建一个服务器别名。 ▲单击“完成”按钮完成新数据源的配置。单击“下一步”按钮进行下一步的配置工作。 ▲在“SQL Server”应该如何验证登录标识号的真伪?”下面有两个单选项供用户选择。 ▲如果选定“使用用户输入登录标识号和密码的SQL Server验证”,请指定连接到SQL Server时SQL Server驱动程序使用的登录标识号。这仅适用于确定服务器默认配置的连接,而不适用于使用已创建数据源进行的后续连接。 ▲如果选定“使用用户输入登录标识号和密码的SQL Server验证“,请指定连接到SQL Server时SQL Server使用的密码。这只适用于确定服务器默认配置的连接,而不适用于使用新数据源进行的后续连接。 (5)单击“下一步”按钮将进行连接的验证。如果正确,则连接成功;否则,系统会指出具体的错误,用户应该重新验证输入的正确性。 本文来自-编程入门网:http://www.bianceng.cn/Programming/vb/200812/11124.htm vb神童教程(续)--VB的ADO对象 ADO简介 参考资料: ADO简介:http://bianceng.cn/VBjc/sjcz/sj2.htm ado对象模型:http://bianceng.cn/Programming/VB_NET/200705/1201.htm ADO是另一种用于开发访问OLE DB数据源应用程序的API。有多种程序设计语言都支持ADO,如VB,VC++,VJ++等。ADO提供了较为高级并容易被理解的访问OLE DB数据源的机制,它结合了DAO和RDO的优点。并提供了OLE DB数据源的入口。OLE DB是一种数据库体系结构,它为企业网络提供了普遍的数据综合能力(从大型机到桌面上的数据,而不管数据的具体类型是什么),与ODBC相比,OLE DB在数据通道方面更具有普遍性和有效性,这是因为它允许同建立在COM基础上的更多的数据类型联系和由于ADO是为开发客户机/服务器程序而专门设计的。下图是典型的ADO应用程序的结构。 ADO的特征如下: ▲支持成批更新.即对更新的多个记录进行缓冲,并同步传输到服务器。 ▲支持所有类型的光标。包括只能前移型,关键值型以及动态和静态型。 ▲支持服务器端的存储过程。这些过程可以大大提高应用程序的通用性。 ▲支持返回多个记录集的查询。 ▲支持查询目的。包括限制返回的记录的个数,激活返回记录的过滤和预先语句。 ADO是由以下对象组成的:Command,Connect,Error,Field,Parameter和RecordSet。下图给出了ADO对象的层次结构。除了Error和Field之外的所有ADO对象都是可以单独创建的,而Command,Error和Parameter对象是可选的。 ADO对象介绍 1.Connection对象 详见vb神童教程(续)--vb adodb Connection对象简介 Connection对象封装了到数据源的连接而且允许使用Execute()方法来执行SQL命令,Execute()命令返回一个RecordSet对象。可使用Connection对象配置一个数据库的链接、定义脱机等级、执行SQL命令并对SQL语句的执行进行控制和管理。下图显示了Connection对象同其它对象的关系。 2.Command对象 Command对象定义了将对数据源执行的指定命令。使用Command对象查询数据库并将查询所得到的记录集返回给RecordSet对象,以便执行大量操作或处理数据库结构。Command对象的主要功能主要有: ▲使用数据管理命令创建RecordSet对象,完成成批更新和使用数据定义命令修改数据源结构。 ▲打开到数据源的连接,指明一个命令,执行存储过程和创建语句。 ▲与Parameter对象联合创建参数化的命令。应用程序可以往各参数集中添加参数,而不需要数据提供者预先填充参数集。 3.Error对象 Error对象封装了从数据源返回的错误。如果Error对象可用,可使用它来获得错误描述、错误代码、创建错误的对象、参考帮助文件和当前的SQL状态。Errors集合中包含了为响应涉及提供者的单个错误而创建的所有Error对象。任何涉及ADO对象的操作都可能产生一个或多个提供者错误。产生错误时,可以将一个或多个Error对象置于Connection对象的Errors集合中。其他ADO操作产生错误时,将会自动清空Errors集合,并且将新的Error对象置于Errors集合中。 4.Field对象 Field对象封装了RecordSet对象中的一列。可以这样说,一个RecordSet对象是由一组Field对象组成的。可以使用Field对象来访问列的名称、列值、类型、精度、范围和列的大小。Field对象只能从RecordSet对象中来访问。 5.Parameter对象 Parameter对象封装了一个命令参数,此参数可以是输入型、输出型或者输入/输出型。许多数据源提供者都支持参数化的命令。需要进行的操作在这些命令中只定义一次,但可以使用变量(或参数)来改变命令的某些细节。例如,SQL SELECT语句可以使用某个参数定义WHERE子句的匹配条件,而使用另一个参数来定义SORT BY子句的列的名称。 6.RecordSet对象 RecordSet对象是ADO的核心,可以单独地创建。RecordSet对象表示的是来自基本表或命令执行结果的记录全集。任何时候,RecordSet对象所指的当前记录均为集合内的单个记录。在RecordSet对象中有一个默认的指针,用户程序可以通过这个默认指针的移动来访问记录集中的单个记录。RecordSet对象封装了一组可以访问列级数据的Field对象。 RecordSet对象的方法: 1.AddNew方法 AddNew方法为可更新的Recordset对象创建一个新记录.AddNew方法将添加一条新的空记录,并且定位在该记录上,用户可以在被绑定的数据感知控件中输入修改数据.新增加的记录的值为指定的默认值,如果没有指定值,则为Null.例如: 输入完新记录后,要使用I.1pdate方法才能将数据保存到数据库中,在使用Update方法前,数据库中的数据不会发生改变,只有执行Update方法或通过Data控件移动当前记录时,记录才从缓冲区存储到数据库文件中.使用Update方法后,新记录仍保持为当前记录. Data1.Recordset.AddNew 2.Delete方法 Delete方法可将当前记录从记录集中删除. 3.Edit方法 要编辑修改数据库的记录,首先使要编辑的记录成为当前记录,然后使用Edit方法修改记录内容,使用Edit方法后,移动记录或者使用Update方法把数据存入到数据库中. 4.Move方法 可以使用各种:Move方法移动记录,使不同的记录成为当前记录.有5种方法: MoveFirst.移动到记录集的第一条记录. Move[,ash移动到记录集的最好一条记录. MoveNext:移动到记录集的下一条记录. MovePrevious:移动到记录集的上一条记录. Move:可以使用Move方法向前或向后移动若干条记录.语法为: Recordset.MoveNumRecords.Start 其中NumRecords设置向前或向后移动记录的行数,正数表示向后移动NumRecords行,负数表示向前移动NumRecords行.Start参数为可选,表示基准位置,缺省时为当前记录的位置.可以把当前记录集的Bookmark作为基准位置. 5.Find和Seek方法 要查找一个符合条件的记录,在Table型的记录集中可以使用Seek方法,在其他类型的记录集中可以使用Find方法. 共有4种Find方法:FindFirst,Find[,ast,FindNext和:FindPrevious方法.使用Seek方法要用到索引,而且只能用于Table类型的记录集. 6.I_Ipdate和CancelIJpdate方法 Update方法保存对Recordset对象的当前记录所做的更改.使用IJpdate方法可以保存自从调用.AddNew方法,或自从现有记录的任何字段值发生更改(使用Edit方法)之后,对Recordset对象的当前记录所作的所有更改.调用LIpdate方法后当前记录仍为当前状态. 如果希望取消对当前记录所做的所有更改或者放弃新添加的记录,则必须调用CancelUpdate方法.调用CanceltJpdate时,更改缓存被重置为空,并使用原来的数据对被绑定的数据感知控件进行刷新. 它们的语法为: 7.Close方法 使用Close方法可以关闭:Recordset对象以便释放所有关联的系统资源.关闭对象并非是将它从内存中删除,可以更改它的属性设置并且在此之后再次打开. vb神童教程(续)--vb adodb Connection对象简介 Connection对象介绍 Connection对象支持许多属性,可以利用这些属性来操作当前的连接状态或者获取一些基本的Connection对象的信息.有一些属性是只读的,而另一些属性是可读写的. 1.Attributes属性 Attributes属性设置或返回一个整型值,它用来指示对象的一项或多项特性.对于Connection对象,Attributes属性为读/写,并且其值可能为以下任意一个或多个XactAttributeEnum值的和(默认为零). ▲AdXactCommitRetaining:执行保留的提交,即通过自动调用CommitTrans启动新事务。并非所有提供者都支持该常量。 ▲AdXactAbortRetaining:执行保留的中上,即通过自动调用RollbackTrans启动新事务。并非所有提供者都支持该常量。 2.CommandTimeout属性 CommandTimeout属性设置或返回长整型值,该值指示等待命令执行的时间(单位为秒)。默许值为30,指示在终止尝试和产生错误之前执行命令期间需要等待的时间。使用Connection对象或Command上的CommandTimeout属性,允许由于网络拥塞或服务器负载过重产生的延迟而取消Execute方法调用。如果在CommandTimeout属性中设置的时间间隔内没有完成命令执行,将产生错误,然后ADO将取消该命令。如果将该属性设置为零,ADO将无限期等待直到命令执行完毕。 3.ConnectionString属性 ConnectionString属性设置或返回字符串值,这个字符串值包含用来建立到数据源的连接的信息.使用ConnectionString属性,通过传递包含一系列由分号分隔的argument=value语句的详细连接字符串可指定数据源。ADO支持ConnectionString属性的四个参数,任何其他参数将直接传递到提供者而不经过ADO处理。 ▲Provider参数:指定用来连接的提供者名称。 ▲File Name参数:指定包含预先设置连接信息的特定提供者的文件名称。 ▲Remote Provider参数:指定打开客户端连接时使用的提供者名称。 ▲Remote Server参数:指定打开客户端连接时使用的服务器的路径名称。 例:使用Connection对象的ConnectionString属性的示例代码 Public Sub ConnectionString_Example() Dim connection1 As ADODB.Connection Dim connection2 As ADODB.Connection Dim connection3 As ADODB.connection Dim connection4 As ADODB.Connection '不使用数据源名(DSN)打开连接 Set connection1=New ADODB.Connection connection1.ConnectionString="driver={SQL Server};"&_ "server=Myserver;uid=sa;pwd=password;database=pubs" connection1.ConnectionTimeout=30 connection1.Open '使用DSN和ODBC标记打开连接。 Set connection2=New ADODB.Connection connection2.ConnectionString="DSN=Pubs;UID=sa;PWD=password;" connection2.Open '使用DSN和OLE DB标记打开连接。 Set connection3=New ADODB.Connection connection3.ConnectionString="Data Source=Pubs;User ID=sa;Password=password;" connection3.Open '使用DSN和单个参数而非连接字符串打开连接。 Set connection4=New ADODB.Connection connection4.Open "Pubs","sa","pwd" End Sub 注意:如果没有复选“引用”对话框中的Data Access Object,程序会出错。在上面的程序段中,先定义了4个Connection对象的变量。这4个变量分别对应于4种不同的连接方式。语句Set connection1=New ADODB.Connection是创建一个新的Connection对象,然后再调用Connection对象的Open方法来打开数据库连接。 4.ConnectionTimeout属性 ConnectionTimeout属性设置或返回指示等待连接打开的时间的长整型值(单位为秒)。其默认值为15,指示在终止尝试和产生错误前建立连接期间所等待的时间。如果由于网络拥塞或服务器负载过重导致的延迟使得必须放弃连接尝试时,请使用Connection对象的ConnectionTimeout属性。如果打开连接前所经过的时间超过ConnectionTimeout属性上设置的时间,将产生错误并且ADO将取消该尝试。如果将该属性设置为零,ADO将无限等待直到连接打开。 5.DefaultDatabase属性 DefaultDatabase属性可设置或返回指定Connection对象上默认数据库的名称。 例:使用Connection对象的DefaultDababase属性的示例代码。 Public Sub DefaultDatabase_Example() Dim connection1 As ADODB.Connection Set connection1=New ADODB.Connection connection1.ConnectionString="driver={SQL Server};"&_ "server=Myserver;uid=sa;pwd=password" cnn1.Open cnn1.DefaultDatabase="pubs" End Sub 6.IsolationLevel属性 IsolationLevel属性指出Connection对象如何处理对象。 7.Mode属性 Mode属性设置或返回以下某个ConnectModeEnum的值,指示用于更改在Connection中的数据的可用权限。 ▲AdModeUnknown:默认值。表明权限尚未设置或无法确定。 ▲AdModeRead:表明权限为只读。 ▲AdModeWrite:表明权限为只写。 ▲AdModeReadWrite:表明权限为读/写。 ▲AdModeShareDenyRead:防止其他用户使用读权限打开连接。 ▲AdModeShareDenyWrite:防止其他用户使用写权限打开连接。 ▲AdModeShareExclusive:防止其他用户打开连接。 ▲AdModeShareDenyNone:防止其他用户使用任何权限打开连接。 8.Provider属性 Provider属性指出当前数据提供者的名字,或者是使用Open()方法时没有指定名字的情况下所使用的提供者名。但是,调用Open方法时如果在多处指定提供者可能会产生无法预料的后果。如果没有指定提供者,该属性将默认为MSD
本文档为【VB神童教程-(数据库)】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_097352
暂无简介~
格式:doc
大小:706KB
软件:Word
页数:40
分类:互联网
上传时间:2009-10-20
浏览量:31