VB 6.0 与 SQL Server 的两种连接


Visual Basic 6.0 与 SQL Server 的两种连接
摘 要:本文介绍了Visual Basic 6.0应用程序通过ADO连接Microsoft SQL Server的两种方法,即有源数据库连接和无源数据库连接,分别说明了两种连接方法的内部机制,并以实例比较两种方法的优缺点。 关键词: ADO;ODBC;DSN;数据库 VB通过ADO连接SQL Server数据库可以分为有源数据库连接和无源数据库连接,区别它们看是否使用了DSN(数据源名称)来决定。 1 无源数据库连接 其实,“无源数据库”连接也并不是说不需要数据源,如果没有数据源则连接是纸上谈兵,只是不需要配置ODBC数据源,利用ADO就可通过代码进行连接。 1.1 ADO(ActiveX Data Object) 在Visual Basic6.0中,数据访问接口有三种:ActiveX数据对象(ADO)、远程数据对象(RDO)和数据访问对象(DAO)。这三种接口的每一种都分别代表该技术的不同发展阶段,最新的是ADO,它比RDO和DAO更加简单,更加灵活。对于新工程,应使用ADO作为数据访问接口。 ADO 是Microsoft 数据库应用程序开发的接口,是建立在OLE DB之上的高层数据库访问技术。它封装了OLE DB所提供的接口,比起OLE DB提供者,ADO的接口可以使程序员在更高级别上进行数据交互。ADO技术不仅可以应用于关系数据库,也可以应用于非关系数据库。可以用统一的方法对不同的文件系统进行访问,大大简化了程序编制,增加了程序的可移植性。 1.2 建立无源数据库连接 在连接数据库前,首先要在Visual Basic 6.0菜单中“工程”—“引用”中选择Microsoft ActiveX Data Objects 2.6 Library 和Microsoft ActiveX Data Objects Recordset 2.6 Library这两个组件。 运用ADO对象模型的主要元素:Connection(连接)中的ConnectionString属性进行连接, ConnectionString为可读写string类型,指定一个连接字符串,告诉ADO 如何连接数据库。 实例:以建立登陆系统为例,介绍无源数据库连接。在Microsoft SQL Server 2000 中建立一个Student 的数据库,在Student数据库中建立login_user(name,password)的数据表,Microsoft SQL Server服务器的名为data_server。代码如下: Option Explicit Public LoginSucceeded As Boolean '引用Microsoft ActiveX Data Objects 2.6 Library '定义连接对象和记录集 Dim conn As ADODB.Connection Dim rs As ADODB.Recordset '对取消按钮单击事件的响应 Private Sub cmdCancel_Click() '设置全局变量为 false '不提示失败的登录 LoginSucceeded = False Me.Hide End Sub '对登录按钮单击事件的响应 Private Sub cmdOK_Click() Set conn = New ADODB.Connection Set rs = New ADODB.Recordset '建立无源数据库连接 conn.ConnectionString="driver={sql server};server=data_server;uid=sa;pwd=;Database=student" conn.ConnectionTimeout = 50 conn.Open Dim str As String '连接连接对象 Set rs.ActiveConnection = conn '设置游标类型 rs.CursorType = adOpenDynamic If Trim(txtUserName.Text = "") Then MsgBox "用户名不能为空,请重新输入用户名!", vbOKOnly + vbExclamation, "警告" txtUserName.SetFocus Else '设置查询字符串 str = "select * from login_user where name ='" & Trim(txtUserName.Text) & "'" rs.Open str If rs.EOF = True Then MsgBox "没有这个用户,请重新输入用户名!", vbOKOnly + vbExclamation, "警告" txtUserName.SetFocus Else '登录成功,连接主窗口 If (Trim(txtPassword.Text) = Trim(rs.Fields("password"))) Then LoginSucceeded = True Me.Hide main.Show Else MsgBox "密码不正确,请重输入密码!", , "警告" txtPassword.SetFocus SendKeys "{Home}+{End}" End If End If End If End Sub 无源数据库连接则不用配置ODBC环境,可以省去手工设置DSN的麻烦,这种方法所编写的软件适应性广,又符合专业软件的要求。 2 有源数据库的连接 有源数据库连接的首要任务是要注册数据源名称(DSN),通过配置ODBC环境,进行数据源的注册,然后才能在对数据库编程时,对数据源进行连接、访问和操作。 2.1 ODBC ODBC(OpenDatabaseConnectivity,开放数据库互连)是Microsoft公司开发的一套开放数据库系统应用程序接口规范,利用它可以在应用程序中同时访问多个数据库系统。由此可见,ODBC的最大优点是能以统一的方式处理所有的数据库。 2.2 DSN(数据源名称) ODBC数据源分为以下三类: (1) 用户DSN:只有创建数据源的用户才可以使用他们自己创建的数据源,而且只能在当前的计算机上使用。 (2) 系统DSN:任何使用你的计算机的用户和程序都可以使用的DSN。 (3) 文件DSN:除了具有系统DSN的功能之外,还能被其它用户在其它计算机上使用。 2.3 创建ODBC数据源的步骤 (1) 启动控制面板。 (2) 双击ODBC图标,启动ODBC数据源。 (3) 换到“用户DSN”标签,单击“添加”。选择SQLServer作为数据源的驱动程序。 (4) 为数据源命名,按提示操作即可创建ODBC数据源。 2.4 创建有源数据库连接 创建数据源是进行有源数据库连接的第一步,下面同样是运用ADO对象模型的主要元素Connection(连接)进行源数据库连接。 ConnectionString是Connection对象的属性名称,提供数据提供者或服务提供者打开到数据源的连接所需要的特定信息,包括Database、DSN、UID等。 (1) Database:字符串表达式,指定服务器上的数据库名称。 (2) UID:字符串表达式,为ODBC数据源指定用户标识(用户账号名)。 (3) PWD:字符串表达式,为ODBC数据源指定用户口令。 (4) DSN:字符串表达式,指定连接的ODBC 数据源名称。 利用已配置好的ODBC数据源进行连接。 实例:以建立查询系统为例,介绍有源数据库连接。创建ODBC数据源名称为stud,通过ADO与数据库student进行连接,代码如下: Dim conn As ADODB.Connection Dim rs As ADODB.Recordset Private Sub Form_Load() Set conn = New ADODB.Connection Set rs = New ADODB.Recordset conn.ConnectionString = "dsn=stud;uid=sa;pwd=;database=student" conn.Open Dim str As String Set rs.ActiveConnection = conn rs.CursorType = adOpenDynamic str = "select * from login_user" rs.Open str txtUserName.Text = rs.Fields("name") txtPassword.Text = rs.Fields("password") End Sub 有源数据库连接首先要配置ODBC环境,注册数据源,这种方法有一定的局限性,当程序最终完成并分发到用户手中后,还需要为用户配置ODBC,而且由于参数内容不一,配置时不宜把握。 3 结束语 ADO封装并且实现了Microsoft强大的数据访问接口OLE DB的所有功能,它具有通用性好,效率高的特点。通过ADO进行无源数据库连接,省去手工设置DSN的麻烦,使ADO对象模型获得更大的灵活性。 优质内容筛选与推荐>>
1、CSLA.NET 发布3.6版本
2、(嵌入式开发)自己写bootloader之编写第一阶段
3、安全测试分析
4、storm进程正常运行一段时间shut down,运维方式
5、.NET委托:一个C#睡前故事


长按二维码向我转账

受苹果公司新规定影响,微信 iOS 版的赞赏功能被关闭,可通过二维码转账支持公众号。

    阅读
    好看
    已推荐到看一看
    你的朋友可以在“发现”-“看一看”看到你认为好看的文章。
    已取消,“好看”想法已同步删除
    已推荐到看一看 和朋友分享想法
    最多200字,当前共 发送

    已发送

    朋友将在看一看看到

    确定
    分享你的想法...
    取消

    分享想法到看一看

    确定
    最多200字,当前共

    发送中

    网络异常,请稍后重试

    微信扫一扫
    关注该公众号





    联系我们

    欢迎来到TinyMind。

    关于TinyMind的内容或商务合作、网站建议,举报不良信息等均可联系我们。

    TinyMind客服邮箱:support@tinymind.net.cn