VB中远程数据库的访问

合集下载

VB远程数据服务 (RDS)

VB远程数据服务 (RDS)

远程数据访问的解决方案问题ADO 使应用程序能够直接访问和修改数据源(有时称为双层系统)。

例如,如果连接是到包含用户数据的数据源,则它是双层系统中的一个直接连接。

但是,有时也需要通过 Microsoft Internet Information Services (IIS) 这样的媒介间接访问数据源。

这种方案有时称为三层系统。

IIS 是客户端/服务器系统,可帮助本地或客户端应用程序通过 Internet 或 Intranet 高效地调用远程或服务器程序。

服务器程序可以访问数据源,并有选择地处理所获得的数据。

例如,Intranet 网页包含连接到 IIS 的应用程序,该应用程序是用Microsoft Visual Basic Scripting Edition (VBScript) 编写的。

IIS 将依次连接到实际数据源,检索数据,以某种方式处理数据,然后将处理后的信息返回到应用程序。

在此范例中,应用程序并未直接连接到数据源,而是通过 IIS 连接到数据源。

并且,IIS 通过 ADO 访问数据。

注意客户端/服务器应用程序无须基于 Internet 或 Intranet(即基于Web),它可以仅由局域网上的已编译程序组成。

但通常是基于 Web 的应用程序。

因为某些可视控件(如网格、复选框或列表)可能会使用返回的信息,所以返回的信息必须易于被可视控件使用。

用户需要的是简单而有效的应用程序编程接口,该接口支持三层系统,并能够象在双层系统上检索一样易于返回信息。

远程数据服务 (RDS) 便是这样的接口。

解决方案RDS 定义编程模型(即访问和更新数据源所必需的活动的序列),以便通过Internet Information Services (IIS) 这样的媒介访问数据。

编程模型汇总了RDS 的所有功能。

基本 RDS 编程模型RDS 阐述了存在于下列环境中的应用程序:客户端应用程序指定将在服务器上执行的程序,并指定返回需要的信息所需的参数。

vb连接数据库详解

vb连接数据库详解

作为微软旗下一款优秀的RAD工具,VB在数据库应用开发方面的能力十分强大。

微软设计了多种数据库访问方法,下面通过对VB访问数据库的多种技术进行深入剖析,并总结出实际开发中的几点经验。

希望能够对那VB的初学者有所帮助。

(注意,文中所有的描述均在Windows 2000 professional和Visual Basic 6.0的环境下进行的)一. DAO、RDO、ODBC和ADO在VB的开发环境中,可以使用三种数据库访问方式,它们分别是:数据访问对象(DAO)、远程数据对象(RDO)和ADO对象模型。

DAO:数据访问对象是用来显露了Microsoft Jet数据库引擎(最早是给Microsoft Access 所使用,现在已经支持其它数据库),并允许开发者通过ODBC直接连接到其他数据库一样,直接连接到Access 表。

DAO 最适用于单系统应用程序或在小范围本地分布使用。

其内部已经对Jet数据库的访问进行了加速优化,而且其使用起来也是很方便的。

所以如果数据库是Access数据库且是本地使用的话,建议使用这种访问方式。

VB已经把DAO模型封装成了Data控件,分别设置相应的DatabaseName属性和RecordSource属性就可以将Data控件与数据库中的记录源连接起来了。

以后就可以使用Data控件来对数据库进行操作。

RDORDO(Remote Data Objects)远程数据对象是一个到ODBC的、面向对象的数据访问接口,它同易于使用的DAO style组合在一起,提供了一个接口,形式上展示出所有ODBC 的底层功能和灵活性。

尽管RDO在很好地访问Jet或ISAM数据库方面受到限制,而且它只能通过现存的ODBC驱动程序来访问关系数据库。

但是,RDO已被证明是许多SQL Server、Oracle 以及其他大型关系数据库开发者经常选用的最佳接口。

RDO提供了用来访问存储过程和复杂结果集的更多和更复杂的对象、属性,以及方法。

VB中数据库访问技术的探讨

VB中数据库访问技术的探讨

VB中数据库访问技术的探讨摘要:VisualBasic中对数据库的访问是开发应用软件时必须面临的问题,在开发过程中如何从众多的数据库访问方案中选择一种使所开发的应用软件在今天处于有利位置,并且适应未来的发展方向,将是主要探讨的问题。

关键词:VB;数据库;接口我们知道,VisualBasic中集成了两种核心且已经发展成为相当成熟技术的数据访问策略:RDO和DAO/Jet。

VisualBasic访问关系型ODBC (OpenDatabaseConnectivity)数据源的最佳访问接口是RDO2.0(RemoteDataObjects,远程数据对象);VisualBasic访问Jet和顺序索引查找类型数据源ISAM首选的访问接口却是DAO/Jet。

于是,我们在VisualBasic中确定数据库访问方案时就选用RDO访问ODBC数据源,选用DAO/Jet访问ISAM或Jet类型数据源。

ADO是独立于开发工具和开发语言,简单易用的数据接口。

ADO (ActiveDataObjects)技术的出现,逐渐取代了其他的数据访问接口。

目前,所有的数据源都可以通过ADO来访问。

如果需要将RDO数据接口转换为ADO时,仍可使用RDO设计的代码,这是因为RDO与ADO的体系结构非常相似。

1VisualBasic访问数据库技术的历史与现状纵观过去,VisualBasic客户在解决商务方案时曾设计出各种程序和组件,它们所访问的数据约有80%是ASCII文件、大型机数据库和SQL数据库。

所以,最初的VisualBasic数据访问工具主要是针对ASCII文件的访问,由VBSQL编写的有关SQLServer的前端应用程序非常少。

到了VisualBasic3.0时代,很多用户开始需要访问ISAM,于是微软公司就设计了DAO(DataAccessObject)和Jet(MicrosoftJetDatabaseEngine),从而使得VisualBasic数据库开发人员与Jet的接口变得方便简洁。

VB访问远程WinCC数据库SQL Server2005

VB访问远程WinCC数据库SQL Server2005

用VB访问远程WinCC数据库SQL Server20052010-03-17最近在用Visual Basic编写访问远程WinCC数据库的程序,碰到了比较棘手的通讯连接问题。

本人比较注重通讯,所以在动手之前先看看能不能通讯上,然后再做打算。

用过WinCC的人都知道,安装WinCC必须先要安装SQL Server,我用的是V6.2版,其自带的SQL Server是2005。

硬件情况大概如下:2台计算机,1个路由器,组成一个局域网;一台计算机运行WinCC及其SQL Server,作为服务器,另外一台用来运行VB编写的程序,作为客户机。

1. 通讯连接测试最近忙着弄论文,不想写太多的字,就写个流程吧。

服务器:开启SQL Server所有服务。

客户机:Windows控制面板—>管理工具—>数据源(ODBC)—>用户DSN添加SQL Server驱动程序—>命名并选择服务器(这里为“主机名\WinCC“)—>完成测试数据源—>失败—>郁闷。

2. 查找原因系统提示[Microsoft][ODBC SQL Server Driver][SQL Server]Login failed for user ''. The user is not associated with a trusted SQL Server connection.百度以后再这个地方看到了点解决的眉目:3. 解决问题——启用以sa登录名为远程身份登录SQL Server 2005 Express继续百度,那人却在灯火阑珊处。

让我找到了她,经过求证效果明显,特转帖过来在默认情况下,SQL Server 2005 Express是采用集成的Windows安全验证且禁用了sa登录名。

为了工作组环境下不使用不方便的Windows集成安全验证,我们要启用SQL Server 2005 Express的混合安全验证,也就是说由SQL Server来验证用户而不是由Windows来验证用户。

VB访问数据库的方法与原则.net-电脑资料

VB访问数据库的方法与原则.net-电脑资料

VB访问数据库的方法与原则.net-电脑资料一、VB访问数据库的原则总则:具体问题具体分析,根据具体的环境、条件、要求而采用适当的方案*代码的重用和运行的效率例如:通过使用ODBC数据源连接数据库的方法,可在变换多种数据库类型的情况下,而不用频繁修改代码,。

用VBSQL通过DB-Library 就做不到一、VB访问数据库的原则总则:具体问题具体分析,根据具体的环境、条件、要求而采用适当的方案*代码的重用和运行的效率例如:通过使用ODBC数据源连接数据库的方法,可在变换多种数据库类型的情况下,而不用频繁修改代码。

用VBSQL通过DB-Library就做不到。

而ODBC接口并不是VB访问数据库运行效率最高的方法。

同样,同是使用ODBC接口的ADO的效率要高于RDO *实现的简便性,易维护性如果一种方法实现起来很复杂,工程的开发必然造成人力物力的浪费,同时这样设计出来的应用程序只会支持起来更复杂或维护时更困难。

例如:本地需要访问ISAM或Jet类型数据源,那么就使用DAO/Jet,而没有必要使用通过ODBC的方法。

RDC实现起来要较RDO更容易*安全性原则报这一条应根据环境和条件决定。

例如局域网的网络安全性要好于广域网因而可直接利用数据控件如DC,这样实现起来方便快捷,而广域网需要大量的错误捕获,如用RDC就不如用RDO易控制错误。

二、VB访问数据库的方法VB访问数据库的方法很多,一般情况下分成两大类,而每一类又有很多方法。

数据访问接口功能及含义:ADC:高级数据连接器(AdvancedDataConnector):提供绑定ADO数据源到窗体的数据绑定控件上。

ADC主要是一种直接访问或者通过ADO访问远程OLEDB对象的一种技术,它也支持主要应用在微软IE浏览器上的数据绑定控件。

它是特地为Web上的浏览器为基础的应用程序而设计的。

ADO:Active数据对象(ActiveDataObjects):ADO实际是一种提供访问各种数据类型的连接机制。

VB中远程数据库的访问

VB中远程数据库的访问

⽤DAO访问远程数据库可以通过三步来实现,即数据连接、数据处理和断开连接。

下⾯主要介绍数据连接和数据处理的具体操作。

数据连接 DAO通过链接远程表的⽅式来进⾏数据连接。

这样,数据虽然驻留在远程数据源上,但在本地的数据库中可以存储与远程数据的永久性连接,同时缓存链接的表结构信息,从⽽在下⼀次访问该表时,不⽤再次从服务器中检索这些结构信息,加快了连接速度。

⼀旦链接了⼀个表,该链接便会保留在各会话期间,直到连接断开。

链接远程表的具体操作是: ⽤ OpenDatabase ⽅法打开将要包含该链接的本地数据库,⽤ CreateTableDef ⽅法在该数据库中创建⼀个新的TableDef 对象,将 TableDef 对象的 Connect 属性设置为⼀个合法的连接字符串,标识要访问的远程数据库类型、数据⽂件的路径以及⽤户名和远程数据源密码等。

将 TableDef 对象的 SourceTableName 属性设置为远程数据库中要访问的表的名称。

添加TableDef 对象到 TableDefs 集合中。

实现链接远程表操作的代码如下: Public Sub LinkTable(strDB As String, strRoDB As String, _ strCn As String, strTdf As String, linkTdfName As String) Dim linkTdf As New TableDef Set dbs = OpenDatabase(strDB) = linkTdfName 100 tempTable = UCase() For i = 0 To dbs.TableDefs.Count - 1 If UCase(dbs.TableDefs(i).Name) = tempTable Then If MsgBox(linkTdfName + " 已存在,是否删除?", _ vbQuestion + vbYesNo) = vbYes Then dbs.TableDefs.Delete Exit For Else: MsgBox "重新输⼊新表名" linkTdfName = InputBox(" 新表名") GoTo 100 End If End If Next iSet linkTdf = dbs.CreateTableDef(linkTdfName) '链接远程表 linkTdf.Connect = ";database=" + strCn linkTdf.SourceTableName = strTdf dbs.TableDefs.Append linkTdfEnd Sub 上述过程⽤来实现远程表的连接,它有5个参数,其中strRoDB是要访问的远程数据库名(包括路径);strTdf 是该数据库中的表名;strDB 是要链接的本地数据库(包括路径);linkTdfName 是本地数据库的⼀个新表名,⽤来建⽴远程表的链接;strCn 是指定连接信息的字符串。

VB中远程数据库的访问(3)应用举例

VB中远程数据库的访问(3)应用举例

应⽤举例 以上介绍了⽤dao访问远程数据库的具体操作,下⾯通过⼀个例⼦说明链接远程表和建⽴记录集对象的⽅法。

⾸先建⽴⼀个新⼯程,在窗体上画5个命令按钮,设为⾸页1个数据控件和1个数据格控件(dbgrid)。

各对象的属性设置见表1。

表1 窗体1对象属性设置 对象 标题(caption) 名称(name) 窗体 远程数据访问 form1 命令按钮1 链接远程表 cmd 链接 命令按钮2 添加 cmdadd 命令按钮3 删除 cmddel 命令按钮4 修改 cmdmodify 命令按钮5 结束 cmdend 数据控件 data1 data1 数据格 dbgrid1 其中dbgrid1中的datasource属性设为data1,命令按钮2,3,4的visible属性设为false。

三、应⽤举例 编写如下事件过程: private sub cmdadd_click() ’ 添加记录⼦过程 on error goto errhandler with rst .addnew for i = 0 to .fields.count - 1 ’ 遍历记录集中的每个字段 ’ 在输⼊框中输⼊各字段的数据 .fields(i).value = inputbox (" 输⼊记录信息" & vbcr + " 字段名:" + .fields(i).name) next i .update end with data1.refresh dbgrid1.rebind errhandler: ’ 错误处理 select case err case 3022, 3421 msgbox (error + vbcr + " 输⼊⽆效") exit sub case else response = 0 exit sub end select end sub private sub cmddel_click() ’ 删除记录过程 on error goto errhandler begintrans ’ 事务处理 with data1.recordset if .bof and .eof then exit sub ’ 如果没有记录,退出过程 .delete ’ 删除 if .bof and .eof then ’ 如果没有记录,退出过程 exit sub elseif .eof then .movelast ’ 如果删除的是最后⼀条记录,光标移⾄最后⼀记录 else: .movenext ’ 移⾄下⼀条记录 end if end with if msgbox(" 确实要删除这⼀记录?", vbquestion + vbyesno) = vbyes then committrans ’ 确认 data1.refresh else rollback ’ 撤消改动 data1.refresh end if errhandler: ’ 错误处理 select case err case 3021 ’ ⽆当前记录 msgbox (" ⽆当前记录,请选择要删除的记录") exit sub case else msgbox (error) exit sub end select end sub private sub cmdend_click() end ’ 结束应⽤程序 end sub private sub cmdmodify_click() dbgrid1.allowupdate = true ’ 允许修改 end sub privatev sub cmd 链接_click() form1.hide form2.show end sub private sub dbgrid1_aftercolupdate(byval colindex as integer) ’ 数据修改后触发该事件 on error goto err1 data1.refresh err1: select case err case 0 response = 0 case else exit sub end select end sub private sub dbgrid1_beforecolupdate (byval colindex as integer, oldvalue as variant, cancel as integer) ’ 数据修改前触发该事件 on error goto errhandler: begintrans if msgbox(" 确实要修改 这⼀内容?", vbquestion + vbyesno) = vbyes then committrans else rollback data1.refresh end if errhandler: select case err case 0 response = 0 case else msgbox (error) exit sub end select end sub private sub form_load() ’ 在窗体装⼊时,格中的数据不可添加,修改 dbgrid1.allowaddnew = false dbgrid1.allowupdate = false end sub private sub fo 您正在看的VB教程是:VB中远程数据库的访问(3) 应⽤举例。

VBA连接数据库的方法与技巧

VBA连接数据库的方法与技巧

VBA连接数据库的方法与技巧VBA (Visual Basic for Applications) 是一种用于Microsoft Office套件中的宏语言。

通过使用VBA,用户可以编写自定义的宏,以实现自动化任务。

连接数据库是在VBA中进行数据操作的重要任务之一。

本文将介绍VBA连接数据库的方法与技巧,帮助您优化和简化数据库操作。

1. VBA连接Access数据库Access数据库是一种常用的本地数据库,VBA可以通过ADO (ActiveX Data Objects) 来连接Access数据库。

以下是连接Access数据库的基本代码示例:```vbaDim conn As ObjectSet conn = CreateObject("ADODB.Connection")conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\path\to\database.accdb;"```上述代码首先创建了一个ADODB.Connection对象,并使用`Open`方法打开了一个Access数据库(.accdb文件)。

您需要将路径`C:\path\to\database.accdb`替换为实际的数据库文件路径。

2. VBA连接SQL Server数据库SQL Server是一种功能强大的关系型数据库,可以使用VBA通过ADO来连接SQL Server数据库。

以下是连接SQL Server数据库的基本代码示例:```vbaDim conn As ObjectSet conn = CreateObject("ADODB.Connection")conn.Open "Provider=SQLOLEDB;DataSource=server_name;Initial Catalog=database_name;UserID=username;Password=password;"```上述代码中,`provider`参数设置为`SQLOLEDB`,`Data Source` 参数指定了SQL Server的名称,`Initial Catalog`参数指定了要连接的数据库名称,`User ID`和`Password`参数指定了连接所需的用户名和密码。

VB与数据库连接的几种方法

VB与数据库连接的几种方法

VB与数据库连接的几种方法在VB中,与数据库进行连接的方式有多种,可以根据不同的需求选择不同的方法。

下面将介绍几种常用的连接数据库的方法。

1.使用ADO连接数据库:ADO(ActiveX Data Objects)是一种用于连接数据库的COM组件,它提供了一套广泛的API,用于与各种数据库进行交互。

使用ADO连接数据库的基本步骤如下:(1)引入ADO组件:在VB的项目中,需要通过引入ADO组件来使用ADO的功能。

在“项目”菜单中选择“引用”,然后勾选“微软ActiveX数据对象库”即可。

(2)创建连接对象和命令对象:使用ADO连接到数据库需要创建两个核心对象,即连接对象和命令对象。

连接对象用于建立与数据库的连接,命令对象用于执行SQL语句。

(3)打开数据库连接:使用连接对象的Open方法来打开数据库连接。

(4)执行SQL语句:使用命令对象的Execute方法执行SQL语句,可以执行查询、插入、更新、删除等操作。

(5)关闭数据库连接:使用连接对象的Close方法关闭数据库连接。

2.使用ODBC连接数据库:ODBC(Open Database Connectivity)是一种通用的数据库访问接口,可以连接各种类型的数据库,包括Access、SQL Server、MySQL等。

VB提供了对ODBC的支持,可以使用ODBC连接数据库。

(1)设置ODBC数据源:在Windows的“控制面板”中选择“管理工具”->“ODBC数据源”,配置一个ODBC数据源,指定要连接的数据库。

(2)在VB中连接数据库:在VB中使用ODBC连接数据库需要通过ODBC数据源名来建立连接。

例如:```Dim conn As New ADODB.Connectionconn.ConnectionString = "Driver={Microsoft Access Driver (*.mdb)};Dbq=C:\myDB.mdb;Uid=Admin;Pwd=; "conn.Open```(3)执行SQL语句:通过ADO连接对象执行SQL语句,与使用ADO 连接数据库的方式相同。

Visual Basic环境中如何使用DAO访问远程数据库

Visual Basic环境中如何使用DAO访问远程数据库

GoTo 100 End If End If N ext i Set linkTdf = dbs. C reateTableDe f( linkTd fNam e) 链' 接远程表 linkTd.f Connect = ; database= + strCn linkTd.f SourceTab leName = strTdf dbs. TableDefs. Append linkTdf End Sub 上述过程用来实现远程表的连接, 它有 5个参数, 其中 strR oDB是要 访问的远程数据库名 (包括路径 ); strTdf是该数据库中的表名; strDB 是要 链接的本地数据库 (包括路径 ); linkTdfName 是本地数据库的一个新表 名, 用来建立远程表的链接; strCn是指定连接信息的字符串。 此外, DAO 通过 M icrosoft Jet数 据库 引擎 访问远 程数 据时, 还 可以用 OpenDatabase 方法直接打开远程 表。在本地 数据库中 并 未存储与远程数据源建立连 接所需 要的信 息。如果 使用链接 方 式访问数据, 则不必在每 次会话开 始时提 供连接 信息, 从而可 以 提高效率。 2 数据处理 数据连接建立后, 可 以用 OpenR ecordset 方法打 开一 个记录 集 , 并可用 DBGr id 控件和 Da ta控件方便地浏览整个记 录集。例 如 要打开动态集记录对象并显示所有记录, 以下是代码 : Public Sub rst_display( strDB A s String, strR st As Str ing, str Form A s F orm ) Set dbs = OpenDa tabase( strDB ) Set rst = dbs. OpenR ecordset( strR st, dbOpenDynase t) strForm! Da ta1. Da tabaseNam e = dbs. Nam e strForm! Da ta1. R ecordSource = rst. Nam e strForm! Da ta1. R e fresh strForm! DBG rid1. R eB ind End Sub 上述过程有三 个参 数, 其 中 strDB 用 来指 定本 地 数据 库名 (包括路径 ), linkTdfNam e 是在本 地数据 库中新 建的链 接远程表 的 表名, strF orm 是网格控 件和 数据 控件所 在的 窗体名。 调用此 过 程可以基于新表建立一个动态集类型的记录对象, 并 可在网格 中 浏览各个记录。 3 断开连接 断开连接可以通过关闭应用程序或设置连接超时来实现。 近来随着 W eb应用软件的迅速发展 和现有数据 存储形式的 多 种多样, V isua l Basic访 问 数 据库 的 解决 方 案 面临 诸 多挑 战。 因 此选择一种合适的快捷的数据库连接方法是有必要的。例如: 本 地需要 访问 ISAM 或 Jet类型数据源, 那么就使用 DAO / Je,t 而 没 有必要使用通过 ODBC 的方 法。在实 际的应用 中可以 根据具 体 的环境、条件、要求而采用适当的方案。

SQL在VB中的使用及访问远程数据库

SQL在VB中的使用及访问远程数据库

SQL在VB中的使用及访问远程数据库SQL在VB中的使用及访问远程数据库VB 5.0数据库设计技术讲座(5)(作者:倪秉书)SQL在VB数据库中的使用在VB中要想灵活地操作数据库,完成各种复杂操作,就需要掌握结构化查询语言SQL语言。

比如在Data控件中,如果数据源是来自两个或两个以上的表时,就要使用SQL。

SQL语言的操作根据其功能分为:数据查询语言(DQL)、数据操作语言(DML)、数据定义语言(DDL)以及数据控制语言(DCL)。

1.数据查询语言(DQL)数据查询负责从表中提取数据并把它交给应用程序,格式如下:SELECT (字段列表) FROM (表格清单) WHERE (表达式)仍以前面的Myfile库为例,要得到“张清源”的电话,可以使用下面的查询:SELECT 电话 FROM Phone WHERE 姓名=“张清源”SELECT语句的第一部分指名要选取的列,可以包括用逗号分开的一系列字段列表。

如果要选择表中的所有字段,可以用星号(*)代替要输入的字段名,比如:SELECT * FROM PhoneSELECT语句的第二部分指明要从哪些表中查询数据。

在此例中,要查询的表名只有一个Phone,SQL允许从一个或多个表中查询数据,表间用点号分隔。

比如:SELECT 姓名,作品FROM Phone,Article WHERE Phone.序号=Address.序号表达式根据需要也可以使用程序设计语言中使用的逻辑运算符NOT、AND和OR。

2.数据操作语言(DDL)(1)插入记录(Insert或Insert into):允许在表中添加新记录,比如:INSERT INTO Phone(姓名,电话,地址) VALUES (′张三′,′3433514′,′福建福州′)在第一个括号中指定一个或多个要被插入数据的字段名称,在第二个括号中给出对应的实际值,用逗号隔开多个字段名。

这个语句把三个字符串“张三”、“3433514”、“福建福州”分别插入表Phone的姓名、电话和地址字段中,形成一个新的记录。

使用VB数据控件访问数据库

使用VB数据控件访问数据库

使用VB数据控件访问数据库Visual Basic是一种功能强大的编程语言,它允许程序员使用数据控件访问数据库。

在本文中,我们将介绍如何使用VB数据控件来连接和操作数据库。

首先,我们需要使用VB的数据控件来建立与数据库的连接。

VB提供了多种数据控件,包括ADO控件(ActiveX Data Objects,ActiveX数据对象)、DAO控件(Data Access Objects,数据访问对象)和ODBC控件(Open Database Connectivity,开放数据库连接)等。

在这里,我们将使用ADO控件。

要使用ADO控件,我们首先需要将其添加到项目中。

打开VB的开发环境,选择"工具"->"选项"->"控件"选项卡。

在这里,我们可以看到可用的控件列表。

找到ADO控件并勾选它,然后点击"应用"和"确定"。

在VB的表单上添加一个数据控件(如ADODC控件),这个控件将用于建立与数据库的连接。

在属性窗口中,我们可以设置连接字符串,选择需要连接的数据库,以及指定用户名和密码等。

可以使用连接字符串来指定连接的数据库类型和位置,如"Provider=Microsoft.Jet.OLEDB.4.0;DataSource=C:\mydatabase.mdb;User Id=admin;Password=;"一旦连接到数据库,我们就可以使用数据控件来执行各种数据库操作,如查询、插入、更新和删除等。

数据控件提供了一些方法和属性,可以轻松地执行这些操作。

此外,我们还可以使用数据控件的AddNew方法和Update方法来插入和更新数据库记录。

例如,我们可以使用Recordset.AddNew方法添加一条新的记录,然后使用Recordset.Update方法将更改保存到数据库中。

当我们完成对数据库的操作后,我们需要关闭数据库连接。

VB访问数据库的三种技术

VB访问数据库的三种技术
站在应用的角度上来选择dao最适用于单系统应用程序或小范围本地分布使用如access数据库因为采用microsoftjet引擎dao为jet数据库作了优化因此如果应用程序必须只访问sqlserver的话它也许不是好的选择但是dao能够将来自多个数据源的数据作连接这可认为是该接口的极大优点
第l O卷第 4期
库应用开发方面的能力 十分强大 , 并且 微软 还设计 了多种数 据访问的方法。数据访问是通过数据访问接 口实现的, 数据访 问接 口是数据提供方 和使用 方的 中介 , 有合适 的数据访 问 没 接 口, 就无法进人数据库 。V B访 问数据库的方法很多 , 本文将
介绍 D O, D A R O和 A O这三种常见的数据库访 问的方法。 D
复杂的对 象、 属性 以及方法。尽管 R O的对象模型并不复杂 , D 也可以用 于访 问任何符 合 O B D C标 准的 数据库 。但是 , 一方
D O是允许程序员 操作 M c sfJt A ir ot e 数据 库引擎 的第 一 o
个面向对象的接 口, 最初是为了实现对 A C S C E S数据库 的访 问
ZHU Xu
( u a nut 0y c n ,C agh 12 8 ua ) H nnId syp lehi T t c h nsa40 0 ,H nn

I bt ] V u s s p ,a a ,n a p b p urrr m go a .a a vo mfoV o  ̄ s m iaB iaa i l eyoen a aae a o l oa i f r h e nd dp v.Bp- A r s lac e stlr d d tla pap gm n st e v m y e e a r s m s w r

使用VB访问数据库

使用VB访问数据库
使用DAO的程序编码非常简单,DAO提供丰富 的游标(Cursor)类型的结果集和非游标 (Cursor Less)类型的结果集,同DDL(数 据描述语言)的功能很类似。
DAO模型是设计关系数据库系统结构的对象类的 集合。
➢它们提供了完成管理这样一个系统所需的全部操作的 属性和方法,包括创建数据库,定义表、字段和索引, 建立表间的关系,定位和查询数据库等工具。
OLE DB与ADO
OLE DB(Object Linking and Embedding for DataBase)数据库对象链接和嵌入
MS采用通用数据访问的方法,“你自己保存数 据,我们给你提供一种方法来访问这些数据。”
实际上就是一种进行关系型数据和非关系型数据 一样的技术。
OLE DB定义:
?使用daoodbcdirect功能可以实现远程rdo功能关系数据库sqlsever200oracleaccess等通过odbc应用程序使用rdo访问数据库daojetrdoodbcjet通知odbc访问服务器数据库数据库databaseodbc允许jet或rdo访问服务器数据库jet不能直接访问服务器accessjet可以直接访问access数据库缺点?dao与rdo只能处理后台为关系数据库的dbms不能解决通用数据存储及通用数据访问
Recordset对象
Recordset对象(记录集对象)
用来管理某个查询返回的记录集以及记录集中的 游标。
声明:对每一个需要操作的查询结构可以声 明一个Recordset对象
Dim cn As New ADODB. Recordset
Recordset属性
1、CursorType 属性 (游标类型)
ODBC允许JET或 RDO访问服务器数 据库

VB实现连接本地数据库和远程数据库

VB实现连接本地数据库和远程数据库

VB实现连接本地数据库和远程数据库大学学了将近两年的Java,毕业了找到的工作却是VB开发!刚开始有点纠结,毕竟Java学了那么多年,学费都还没赚回来,就要转头去学VB。

当面对生存这一人生的抉择时,我淡定了....反正都是码代码,用那种语言都是一样的命。

唉,学吧。

好了,切入正题,记录自己走出校门的成长轨迹!希望自己能坚持走下去...同时也希望跟初学者一起进步。

在连接本地计算机的SQL 2005时捣鼓了好久,最终没办法,把数据库卸了重装,最后最后终于给连上,真给力...不解释,代码贴上:Public Conn As New ADODB.ConnectionPublic Function GetConn()Set Conn = New ADODB.ConnectionConn.ConnectionString = "Provider=SQLOLEDB.1;Persist Security Info=False;User ID=sa;Initial Catalog=Lgh_text;Data Source=(local) ;Password=admin"Conn.OpenEnd FunctionPrivate Sub Command1_Click()If Conn.State = 1 ThenMsgBox "恭喜你,连上数据库!", vbOKOnly, "系统提示"ElseMsgBox "很遗憾,没有连上数据库!", vbOKOnly, "系统提示"End IfEnd Sub注释:sa和admin 为用户自己设定的数据库访问名和密码,Lgh_text 为你所要访问的数据库名。

以上代码搞定!连接远程数据库服务器跟连接本地数据库差不多,只需要做稍微的修改就可搞定,如下:sa和admin 还是为服务器上的数据库的访问名和密码,Lgh_text为你所要访问的数据库名,同时将Data Source=(local) 的(local)修改成你服务器的访问IP地址,如Data Source=XXX.XXX.XXX.XXX,然后所有问题搞定,然后你就可一对数据库进行增删改查操作了。

VB远程操作MYSQL数据库

VB远程操作MYSQL数据库

End Function1、进入mysql,创建一个新用户xuys:格式:grant 权限 on 数据库名.表名用户@登录主机 identified by "用户密码";grantselect,update,insert,deleteon*.***************.88.234identifiedby "xuys1234";查看结果,执行:use mysql;select host,user,password from user;可以看到在user表中已有刚才创建的xuys用户。

host字段表示登录的主机,其值可以用IP,也可用主机名,将host字段的值改为%就表示在任何客户端机器上能以xuys用户登录到mysql服务器,建议在开发时设为%。

update user set host = '%' where user = 'xuys';2、./mysqladmin -uroot -ppwd reload./mysqladmin -uroot -ppwd shutdown3、./mysqld_safe --user=root记住:对授权表的任何修改都需要重新reload,即执行第3步。

如果经过以上3个步骤还是无法从客户端连接,请执行以下操作,在mysql数据库的db 表中插入一条记录:use mysql;insert into dbvalues('192.168.88.234','%','xuys','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y', 'Y','Y');update db set host = '%' where user = 'xuys';重复执行上面的第2、3步。

VB远程数据库访问方法

VB远程数据库访问方法

VB远程数据库访问方法
阚志刚;马瑞民;袁文翠
【期刊名称】《计算机应用》
【年(卷),期】1999(19)2
【摘要】本文介绍了VB提供的四种访问远程数据库的方法:数据访问对象、远程数据访问对象、开放式数据库互连API函数和VBSQLAPI函数,并给出了每种方法的优缺点。

【总页数】3页(P20-22)
【关键词】远程数据库;数据库引擎;数据访问;VB语言
【作者】阚志刚;马瑞民;袁文翠
【作者单位】大庆石油学院计算机科学系
【正文语种】中文
【中图分类】TP311.13
【相关文献】
1.论VB中的数据库访问方法 [J], 吴仕龙
2.在VB中用ADO实现广域网中的远程数据库访问 [J], 吴志坚;丁杰
3.利用VB实现Oracle远程数据库访问 [J], 肖彦君
4.VB中数据库访问方法和比较 [J], 铁锐
5.VB中数据库访问方法和比较 [J], 铁锐
因版权原因,仅展示原文概要,查看原文内容请购买。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

if ucase(dbs.tabledefs(i).name) = temptable then
if msgbox(linktdfname + " 已 存 在, 是 否 删 除 ?", _
vbquestion + vbyesno) = vbyes then
dbs.tabledefs.delete
用opendatabase方法打开将要包含该链接的本地microsoft jet数据库
用createtabledef方法在该数据库中创建一个新的tabledef对象
将tabledef对象的connect属性设置为一个合法的连接字符串,标识要访问的远程数据库类型、数据文件的路径以及用户名和远程数据源密码等。
strcn="foxpro3.0;database=\\server\c$\sales\region1"
此外,dao通过microsoft jet数据库引擎访问远程数据时,还可以用opendatabase方法直接打开远程表。在本地数据库中并未存储与远程数据源建立连接所需要的信息。如果使用链接方式访问数据,则不必在每次会话开始时提供连接信息,从而可以提高效率。
else: .movenext
’ 移 至 下 一 条 记 录
end if
end with
if msgbox(" 确 实 要 删 除 这 一 记 录 ?",
vbquestion + vbyesno) = vbyes then
committrans ’ 确 认
private sub cmddel_click() ’ 删 除 记 录 过 程
on error goto errhandler
begintrans ’ 事 务 处 理
with data1.recordset
if .bof and .eof then exit sub
on error goto errhandler
wห้องสมุดไป่ตู้th rst
.addnew
for i = 0 to .fields.count - 1 ’ 遍 历 记 录 集 中 的 每 个 字 段
’ 在 输 入 框 中 输 入 各 字 段 的 数 据
.fields(i).value = inputbox
(" 输 入 记 录 信 息" & vbcr + " 字 段 名:" + .fields(i).name)
next i
.update
end with
data1.refresh
dbgrid1.rebind
errhandler: ’ 错 误 处 理
dim linktdf as new tabledef
set dbs = opendatabase(strdb)
= linktdfname
100
temptable = ucase()
for i = 0 to dbs.tabledefs.count - 1
linktdf.connect = ";database=" + strcn
linktdf.sourcetablename = strtdf
dbs.tabledefs.append linktdf
end sub
上述过程用来实现远程表的连接,它有5个参数,其中strrodb是要访问的远程数据库名(包括路径);strtdf是该数据库中的表名;strdb是要链接的本地数据库(包括路径);linktdfname是本地数据库的一个新表名,用来建立远程表的链接;strcn是指定连接信息的字符串。需要特别注意的是,除了在访问远程microsoft jet数据库时,连接字符串要以分号(;)开头外,指定连接信息的字符串都必须以所访问的远程数据库类型开头。dao可以访问的远程数据源有以下三类:
数据控件
data1
data1
数据网格
dbgrid1
其中dbgrid1中的datasource属性设为data1,命令按钮2,3,4的visible属性设为false。
编写如下事件过程:
private sub cmdadd_click() ’ 添 加 记 录 子 过 程
data1.refresh
else
rollback ’ 撤 消 改 动
data1.refresh
end if
errhandler: ’ 错 误 处 理
select case err
case 3021 ’ 无 当 前 记 录
msgbox (" 无 当 前 记 录, 请 选 择 要 删 除 的 记 录")
select case err
case 3022, 3421
msgbox (error + vbcr + " 输 入 无 效")
exit sub
case else
response = 0
exit sub
end select
end sub
名 称(name)
窗体
远程数据访问
form1
命令按钮1
链接远程表
cmd 链接
命令按钮2
添加
cmdadd
命令按钮3
删除
cmddel
命令按钮4
修改
cmdmodify
命令按钮5
结束
cmdend
将tabledef对象的sourcetablename属性设置为远程数据库中要访问的表的名称。
添加tabledef对象到tabledefs集合中。
实现链接远程表操作的过程如下:
public sub linktable(strdb as string, strrodb as string, strcn as string, strtdf as string, _linktdfname as string)
strform!data1.databasename =
strform!data1.recordsource =
strform!data1.refresh
strform!dbgrid1.rebind
end sub
上述过程有三个参数,其中strdb用来指定本地数据库名(包括路径),linktdfname是在本地数据库中新建的链接远程表的表名,strform是网格控件和数据控件所在的窗体名。调用此过程可以基于新表建立一个动态集类型的记录对象,并可在网格中浏览各个记录。
断开连接可以通过关闭应用程序或设置连接超时来实现。注意:如果对数据库对象使用close方法,则由于在miscrosoft jet数据库引擎内部缓存了连接,实际上连接并未取消。
exit sub
case else
msgbox (error)
exit sub
end select
end sub
private sub cmdend_click()
end ’ 结 束 应 用 程 序
end sub
private sub cmdmodify_click()
exit for
else: msgbox " 重 新 输 入 新 表 名"
linktdfname = inputbox(" 新 表 名")
goto 100
end if
end if
next i
set linktdf = dbs.createtabledef(linktdfname) ’ 链 接 远 程 表
用dao访问远程数据库大体上可以通过三步来实现,即数据连接、数据处理和断开连接。下面主要介绍数据连接和数据处理的具体操作。
一、数据连接
dao一般通过链接远程表的方式来进行数据连接。这样,数据虽然驻留在远程数据源上,但在本地的microsoftjet数据库中可以存储与远程数据的永久性连接,同时缓存链接的表结构信息,从而在下一次访问该表时,不用再次从服务器中检索这些结构信息,加快了连接速度。一旦链接了一个表,该链接便会保留在各会话期间,直到连接断开。链接远程表的具体操作是:
VB中远程数据库的访问
时间:2000/10/12 16:30 作者:许蔓舒
在VB中,用microsoft jet数据库引擎和数据访问对象dao(data access object)可以创建功能强大的客户/服务器应用程序。对远程数据库的访问是开发这类应用程序的关键环节,本文将介绍在VB中用dao通过miscrosoft jet数据库引擎访问远程数据库的方法。
三、应用举例
以上介绍了用dao访问远程数据库的具体操作,下面通过一个例子说明链接远程表和建立记录集对象的方法。
首先建立一个新工程,在窗体上画5个命令按钮,1个数据控件和1个数据网格控件(dbgrid)。各对象的属性设置见表1。
表1 窗体1对象属性设置
对 象
标 题(caption)
下面是打开动态集记录对象并显示记录的过程:
public sub rst_display(strdb as string, strrst as string, strform as form)
set dbs = opendatabase(strdb)
set rst = dbs.openrecordset(strrst, dbopendynaset)
dbgrid1.allowupdate = true ’ 允 许 修 改
end sub
相关文档
最新文档