ADO数据库操作总结

来源:互联网 发布:淘宝卖家怎么追加评论 编辑:程序博客网 时间:2024/05/20 18:55

一、设置连接对象和连接记录集:

       Public gLoginCn As ADODB.Connection  '连接Login数据库

       Public gLoginRs As ADODB.Recordset   '定义记录集

二、在模块中实例化对象:

Set gloginCn=new adodb.connection

Set gloginRs=new adodb.Recordset

三、三种数据库的链接方法

Oracle

  strSQL = "Provider=OraOLEDB.Oracle.1;Password=" & tOracle.Password & ";Persist Security Info=True;User ID=" & _

    tOracle.UserName & ";Data Source=" & tOracle.DataSource & ";Pooling =false"

             

' 问题由于oracle重启或者连接中断而ADO.Net仍然未释放连接所致,

' 解决方法是通过禁用OracleClientPooling,禁用方法是在连接字符串中加上 Pooling=false.

' http://blog.joycode.com/uestc95/archive/2005/09/27/64200.aspx

             

    Set gLinkOracle9i = New ADODB.Connection

    gLinkOracle9i.CursorLocation = adUseClient

    gLinkOracle9i.Open strSQL

 

Access:

  

 strSQL = "Provider=Microsoft.Jet.OLEDB.4.0;Persist Security Info=False;" & _

            "Data Source=" & App.Path & "/数据库/" & Mdb & ".mdb"                   '连接数据库SQL语句

    Set AccessCn = New ADODB.Connection     ''实例化Connection对象AccessCn

    AccessCn.ConnectionString = strSQL

AccessCn.Open               '打开数据库连接

 

       SQL:

              strSQL = "Provider=SQLOLEDB.Oracle.1;Password=" & tOracle.Password & ";Persist Security Info=True;User ID=" & _

    tOracle.UserName & ";Data Source=" & tOracle.DataSource & ";Pooling =false"

             

' 问题由于oracle重启或者连接中断而ADO.Net仍然未释放连接所致,

' 解决方法是通过禁用OracleClientPooling,禁用方法是在连接字符串中加上 Pooling=false.

' http://blog.joycode.com/uestc95/archive/2005/09/27/64200.aspx

             

    Set gLinkSQL = New ADODB.Connection

    gLinkSQL.CursorLocation = adUseClient

gLinkSQL.Open strSQL

四、判断表是否存在于数据库中

gOldTableRs.CursorLocation = adUseClient

        strSQL = "SELECT Table_Name FROM Tabs WHERE Table_Name='" & UCase(labOldTab.Caption) & "'"   ' 表名强制为大写, 判断是否存在

        gOldTableRs.Open strSQL, gOldTableCn, adOpenDynamic, adLockReadOnly         '打开数据库

返回gOldTableRs.RecordCount为一表存在,反之不存在

五、记录集主要是用于对字段的操作和记录的操作

tTable.ZdName(i) = ObjRs.Fields(i).Name

tTable.ZdType(i) = ObjRs.Fields(i).Type

tTable.ZdSize(i) = ObjRs.Fields(i).DefinedSize

tTable.ZdScale(i) = ObjRs.Fields(i).NumericScale