vb连接oracle数据库,vb如何连接mysql数据库
大家好,今天小编来为大家解答以下的问题,关于vb连接oracle数据库,vb如何连接mysql数据库这个很多人还不知道,现在让我们一起来看看吧!
vb 用ado连接sql数据库。。。
在VB中使用ADO
在程序设计中,ADO不是作为可视化的控件来使用的,如果要在应用程序中使用ADO组件,需要在"工程"菜单下的"引用"项中选该组件!该组件名称为:"Mircrosoft ActiveX Data Object 2.0 Library"(注:可能有2.5 2.6或者其他版本)
3->ADO数据访问过程概要
使用ADO访问数据库类似于高速公路,首先,必须先修好公路,建立城市与城市间的连接,汽车才能在上面运行,ADO首先也需要建立程序与数据库间的连接,然后在这个连接上执行操作.
因此ADO提供了一个连接对象,该对象负责建立与数据库的连接,因此提供了一些属性以供设置,同时也提供了建立连接的方法与相应连接相关的事件!
连接建立之后,连接对像本身也提供了数据库执行操作的方法,但要更强有力的执行SQL的功能要由另一个命令对象来实现.
此外,一个非常重要的对象是记录集对像,因为在很多时候,需要执行数据库的查询,而查询的结果返回必须以某个容器来承载,就好比高速公路运送回来的货物需要建立一个物资仓库来进行货物的接收和储存.
还需要注意的是,要求程序与数据库之间断开连接.
连接对象,命令对象,和记录集对象分别对应ADO的Connection,Command,和Recordset三个对象
4->ADO Connection对象的属性方法和事件
1.连接对象(Connection)的主要属性
属性名称属性说明
Provider指定要进行连接的提供程序的名称,该属性标识要进行数据连接的数据库类型
CommandTimeOut设置或者返回产生错误之前执行命令期间需等待的时间,单位为秒
ConnectionTimeOut设置或者返回产生错误前建立连接期间所等待的时间,单位为秒
ConnectionString设置建立到数据源的连接的信息,不同的信息单元以";"号分割
State说明当前连接的状态信息
主要属性说明:
A.Provider
用 Provider属性可以设置或返回连接提供者名称,也可以通过ConnectionString属性的内容或open方法的ConnectionString参数设置该属性
例如: Con.Provider="Microsoft.Jet.OLEDB.3.51"
Con.Provider="sqloledb"
分别表示access与Sql Server的连接支持!
B.ConnectionString
例如,可以按以下方式分别设置SQL Server与Access的连接字符串信息
Con.ConnectionString="driver={SQL Server};server=SV1;uid=sa;pwd=;database=pubs"
Con.ConnectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\1.MDB"
请注意Access数据库与Sql Server数据库不同的连接方式,Access数据库需要指定具体的文件名,而Sql Server通过指定数据库名来访问
连接方式可以还可以是数据源,例如,可以使用建立的数据源连接:
Con.ConnectionString="DSN=ACCPSQL;server=SV1;uid=sa;pwd=;"
C.State
该属性是只读的,不能进行设置,返回值为adStateClosed常数表示连接已关闭,返回值adStateOpen常数表示连接是打开的
附:Provider Parameters参数
提供程序参数字符串
Micrusoft Jet Microsoft.Jet.OLEDB.3.51
Oracle MSDAORA
Microsoft ODBC Driver MSDASQL
SQL Server SQLOLEDB
vb如何连接sql数据库,求源码
Dim conn As New ADODB.Connection'创建一个 Connection实例,在这里使用New等于将Dim和Set合并为一段代码执行
Dim rs As ADODB.Recordset'创建一个 Recordset实例,不使用New是因为,经常需要重复使用Set,因此没必要在这里使用
Dim CnStr As String, Sql As String'创建两个字符串变量分别存放两个集合的SQL语句代码段
1、装载数据库(不属于Recordset集合)
=============
Dim FileNamw$, DbIp$, DbName$, DbUser$, DbPw$
'以上5个字符串变量分别表示文件路径和文件名、数据库地址、数据库名、数据操作员用户名、操作员密码
FileName= App.Path&"\'数据库名'"
DbIp="数据库地址"
DbName="数据库名"
DbUser="数据操作员用户名"
DbPw="操作员密码"
'以上变量根据数据库类型的不同而不同,有可能只需要1至两个变量
'1)连接Access数据库:
'-------------------
CnStr="PROVIDER=microsoft.jet.oledb.3.51;persist security info=false;data source="& FileName&";Jet OLEDB:Database Password="& DbPw
'2)连接Oracle数据库:
'-------------------
CnStr="PROVIDER=MSDAORA.1;Password="& DbPw&";User ID="& DbUser&";Data Source="& FileName&";Persist Security Info=True"
'其中:
'PASSWORD:密码
'User ID:用户号
'Data Source:数据库名
'Persist Security Info:
'Provider:
'3)连接VF的DBF库:
'----------------
CnStr="PROVIDER=MSDASQL.1;Persist Security Info=False;Driver={Microsoft Visual FoxPro Driver};UID="& DbUser&";SourceDB="& FileName&
";SourceType=DBF;Exclusive=No;BackgroundFetch=Yes;Collate=Machine;"
'4)连接SQL的数据库
'------------------
CnStr="PROVIDER=MSDataShape;Data PROVIDER=MSDASQL;uid="& DbUser&";pwd="& DbPw&";DRIVER=SQL Server;DATABASE="& DbName&";WSID=GQSOFT;SERVER="&
DbIP
'也可以使用这段简易代码 CnStr="Provider=SQLOLEDB;Data Source="& DbIp&";DATABASE="& DbName&";UID="& DbUser&";pwd="& DbPw
Conn.Open cnstr'使用 Connection集合的 Open方法与数据库建立连接
2、Recordset集合的常用方法
==========================
'1)打开一个表
'------------
Sql="select* from表名"'SQL查询语句
Set rs= New ADODB.Recordset'新建一个实例
rs.Open Sql, conn'使用 Open方法打开数据库中的一个表
'注意,这种打开方式只能使用 rs.MoveNext(即,向后移动行坐标)而不能像其他方向,并且不能修改数据内容
'
'rs.Open Sql, conn,1'虽然只加了个“1”,但这种方法可以向任何方向移动行坐标。
'
'以下参数代表了这个可选值的含义
'0= adOpenForwardOnly(默认值)打开仅向前类型游标。
'1= adOpenKeyset打开键集类型游标。
'2= adOpenDynamic打开动态类型游标。
'3= adOpenStatic打开静态类型游标。
'
'虽然使用以上方法可以可以实现行坐标(游标)的任意移动,但是仍然无法写入数据。因此需要进一步的对Open方法进行完善
'rs.Open Sql, conn, 1, 3'后面的3是确定读写权限的
'以下参数代表了这个可选值的含义
'1= adLockReadOnly(默认值)只读—不能改变数据。
'2= adLockPessimistic保守式锁定(逐个)—在编辑时立即锁定数据源的记录。
'3= adLockOptimistic开放式锁定(逐个)—只在调用 Update方法时才锁定记录。
'4= adLockBatchOptimistic开放式批更新—用于批更新模式(与立即更新模式相对)。
'
'2)读写数据
'----------
'增加一行记录并对新记录的内容进行修改并保存可以如下写法
rs.AddNew'增加一行记录
rs("...")="..."'数据读写操作
...
rs.UpDate'保存写入资料,如果使用只读权限,则不能使用这个方法
rs.Close'这个方法用来关闭你所代开的表,如果不使用这个方法也可以,但是数据库仍然认为你在对标进行锁定,可造成数据库负担过重
2、对数据进行筛选和排序
=======================
Sql="select* from表名"'SQL查询语句
'以上为打开一个表的所有内容
Sql="select top 50* from表名"'SQL查询语句
'以上为只打开前50行的记录
Sql="select top 50列名1,列名2,列名5 from表名"'SQL查询语句
'以上为只打开前50行的记录,并且只打开第1、2、5列数据
Sql="select* from表名 where列名1='"&字段&"'"'SQL查询语句
'以上为一个简单的筛选,表示打开的内容必须符合[列名1='"&字段&"'"]的内容
'需要注意的是,数据库列的类型必须匹配,比如字符串类型需要以单引号括起
'而数字类型则不能用单引号括起
'另外SQL语句还支持通配符,例如列名1 like'%"&字段&"%'"表示包含[字段]
'在表达式中的匹配
'? _(下划线)任何单一字符
'* or%零个或多个字符
'#任何单一数字(0— 9)
'[charlist]任何在字符表中的单一字符
'[!charlist]任何不在字符表中的单一字符
'注:根据数据库的不同?、_和*、%的应用有所差别,比如SQL只使用%和 _分别代表多个字符和单一字符
Sql="select* from表名 where列名1='"&字段&"' ORDER BY字段1 ASC"'对查询结果进行升序排列
Sql="select* from表名 where列名1='"&字段&"' ORDER BY字段1 DESC"'对查询结果进行降序排列
Sql="select* from表名 where列名1='"&字段&"' ORDER BY字段1 DESC, ORDER BY字段2 DESC"'对查询结果进行多维降序排列(速度奇慢,不推荐使用)
3、Recordset集合的常用属性方法
==============================
rs.BOF'是否游标在最上边
rs.EOF'是否游标在最下边
rs.RecordCount'记录集的行数(如果使用像前类型的游标,可能返回不准确)
rs.AddNew'新建一行记录
rs.Update'保存当前行被修改的记录
rs.Delete'删除当前行
rs.Close'关闭记录集
4、Fields集合的一些属性的解释
=============================
'以下为简写,正常情况需要rs.Fileds.。。。但是Fields属于Recordset的一个默认集合,因此可以省略
rs()'括号内可以是列名也可以是列的序号例如:rs("姓名")、rs(3)都是是可以的
rs(3).Name'返回列名
rs(3).Type'返回列的类型
rs(3).Value'返回当前行的值
rs.Fields.Count'返回列数
vb.net连接数据库
1、用The SQL Server.NET Data Provider连接数据库
The SQL Server.NET Data Provider是利用SqlConnection类来连接SQL Server7.0或更高版本的数据库,
SqlConnection类位于名称空间System.Data.SqlClient下。
连接代码:
Dim sqlConnection1 As SqlClient.SqlConnection
Dim strConnect As String=”data source=服务器名;initial catalog=数据库名;user id=sa;password=;”
sqlConnection1=New System.Data.SqlClient.SqlConnection(strConnect)
sqlConnection1.open‘打开数据库
sqlConnection1.close‘关闭连接,释放资源
2、用The OLE DB.NET Data Provider连接数据库
上面已经说过,利用The OLE DB.NET Data Provider可以访问Access、Oracle和SQL Server等种数据
库,那么,它是怎样访问这些数据库的呢?The OLE DB.NET Data Provider是通过位于名称空间Sy
stem.Data.OleDb类库下的OleDbConnection类来连接这三种不同类型的数据库的。下面举例说明:
1)连接SQL Server数据库
Dim oleDbConnection1 As OleDb.OleDbConnection
Dim strConnect As Sting=”Provider=SQLOLEDB;Persist Security Info=False;Data Source=服务器名;Initial Catalog=数据库名;User ID=sa;Password=;”
oleDbConnection1=New System.Data.OleDb.OleDbConnection(strConnect)
2)连接Access数据库
假设要连接的Access数据库名为“Example.mdb”,存放在d:\Data\目录下。
Dim oleDbConnection1 As OleDb.OleDbConnection
Dim strConnect As Sting=”Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\Data\ Example.mdb”
oleDbConnection1= New System.Data.OleDb.OleDbConnection(strConnect)
3)连接Oracle数据库
Dim oleDbConnection1 As OleDb.OleDbConnection
Dim strConnect As Sting=”Provider=MSDAORA;Data Source=服务器名;User ID=用户ID;Password=密码;”
oleDbConnection1= New System.Data.OleDb.OleDbConnection(strConnect)
3、用The ODBC.NET Data Provider连接数据库
The ODBC.NET Data Provider连接数据库是通过OdbcConnection类来实现的,这个类位于名称空间
Microsoft.Data.Odbc下,而名称空间Microsoft.Data.Odbc是封装在Microsoft.Data.Odbc.dll文件下的。
由于篇幅有限,这里就只介绍连接Sql Server和Oracle数据库的方法,其他数据库的连接方法基本类
似,我就不再多讲了。
1)连接Sql Server数据库
Dim odbcDbConnetion1 As Microsoft.Data.OdbcConnection
Dim strConnect As Sting=”Driver={SQL Server};Server=服务器名;Uid=sa;pwd=;Database=数据库名;”
odbcDbConnetion1=New Microsoft.Data.OdbcConnection(strConnect)
2)连接Oracle数据库
Dim odbcDbConnetion1 As Microsoft.Data.OdbcConnection
Dim strConnect As Sting=”Driver={Microsoft ODBC for Oracle};Server=服务器名;Uid=sa;pwd=;”
odbcDbConnetion1=New Microsoft.Data.OdbcConnection(strConnect)
四、总结
通过本文的介绍,读者基本掌握了在Visual Basic.NET中用ADO.NET和ODBC.NET连接各种数据库的方法
。以上三种驱动针对不同的数据库,它们的性能方面也有很大的不同:The SQL Server.NET Data Provider
的效率最高;The OLE DB.NET Data Provider的效率比较底;The ODBC.NET Data Provider的效率最慢。
具体连接哪一种数据库选用哪一种数据驱动要从工作效率方面来考虑。
以上回答你满意么?
好了,关于vb连接oracle数据库和vb如何连接mysql数据库的问题到这里结束啦,希望可以解决您的问题哈!