设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 4245|回复: 9
打印 上一主题 下一主题

可以使用ADO來載入資料庫

[复制链接]
跳转到指定楼层
1#
发表于 2002-11-2 00:42:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
(一般)
Dim MyDB As New ADODB.Connection
'設定MyDB為一個新的ADODB的Connection物件
Dim MyRec As New ADODB.Recordset
'設定MyRec為一個新的ADODB的Recordset物件
Private Sub Command1_Click()
MyDB.Open "rovider=Microsoft.Jet.OLEDB.3.51ersist Security Info=False;Data Source=G:\VBP範例\資料庫\url.mdb"
' Provider=Microsoft.Jet.OLEDB.3.51ersist Security Info=False;Data Source=G:\VBP範例\資料庫\url.mdb
'上面那一行是利用ADODC抄出來的

'用Microsoft.Jet.OLEDB.3.51這個Provider
'把資料庫載入到MyDB這個ADODB.Connection
MyRec.Open "VB網站", MyDB
'MyRec擇開啟MyDB裡的〝VB網站〞這一個資料表
'MyRec此時MyRec裡以經充滿了url.mdb的VB網站的資料了
MyRec.MoveFirst
'將指標移到第一筆的位置
Do
List1.AddItem MyRec.Fields(0) & Chr(9) & MyRec.Fields(1) & MyRec.Fields(2)
'MyRec.Fields(0)是說MyRec指標所在的位置第一欄裡的資料
'MyRec.Fields(1)是說MyRec指標所在的位置第一欄裡的資料
'Chr(9)則是一個跳位字元
MyRec.MoveNext
'MyRec裡的指標移到下一筆的位置
Loop Until MyRec.EOF
'如果MyRec的指標已經移到最後一筆,則結束這一個迴圈
End Sub

●這一個url.mdb,在物件運用單元的DataControl物件下可以找到。


●由於Access2000檔案的內容又與原先Access檔案內容不同,因此舊有的Provider會認不得,因此你想要開啟Access2000的mdb檔時,上面的Provider要改成:Provider=Microsoft.Jet.OLEDB.4.0;

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖 订阅订阅
2#
发表于 2002-11-2 15:16:00 | 只看该作者
这种写法好象同Access中的ADO2.1没有什么区别啊。 在vb.net中好象ADO已升级到了2.7,据称写法有改变了。我还没有做出一个实例出来。
3#
 楼主| 发表于 2002-11-5 19:31:00 | 只看该作者
看来有些老了!跟不上形势了!!……

我很期待你做一个vb.net的例子!
4#
发表于 2002-12-2 20:25:00 | 只看该作者
我来发一个我写的ADO.2.7的用户登陆.见笑了.

    Private Sub Button2_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
        MessageBox.Show("登陆失败")

        Me.Close()

    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim f As Form2
        Dim i As Integer
        Dim flag As Boolean
        Dim username, userpwd As String
        mycnn = New ADODB.Connection()
        myrs = New ADODB.Recordset()
        mycmd = New ADODB.Command()
        strcnn = "provider=microsoft.jet.oledb.4.0;data source=softbase.mdb"
        mycnn.Open(strcnn)
        myrs.Open("select * from 用户",mycnn,ADODB.CursorTypeEnum.adOpenStatic,ADODB.LockTypeEnum.adLockOptimistic)

        flag = False
        username = Me.EDIT用户名.Text
        userpwd = Me.EDIT密码.Text
        myrs.MoveLast()
        myrs.MoveFirst()
        For i = 0 To myrs.RecordCount - 1
            If username = myrs.Fields("工号").Value.ToString Then
                If userpwd = myrs.Fields("密码").Value.ToString Then
                    flag = True
                    MessageBox.Show("登陆成功")
                    Exit For
                End If
            End If
            myrs.MoveNext()
        Next
        If Not flag Then
            MessageBox.Show("登陆失败")
        Else
            f = New Form2()
            f.Show()
            Me.Hide()
        End If

    End Sub

[此贴子已经被作者于2002-12-2 12:25:20编辑过]

5#
 楼主| 发表于 2002-12-3 00:10:00 | 只看该作者
做得不错!
6#
发表于 2002-12-17 21:05:00 | 只看该作者
.NET用的是ADO.NET.
ADO2.7也过时了
7#
发表于 2002-12-18 07:38:00 | 只看该作者
Public Function GetLieferantZuArtikel(ByVal artikel As Long) As Long

'*******************************************************************************
'*  Liefert zur angegenbenen Artikelnummer den Lieferanten                     *
'*  Existiert der Artikel nicht, wird -1 zurückgegeben                          *
'*******************************************************************************

Dim dbcon As ADODB.Connection, rs As ADODB.Recordset
Dim sql As String


    sql = "SELECT ArtLief FROM tblArtikel WHERE ArtNr=" & artikel

    Set dbcon = CurrentProject.Connection
    Set rs = New ADODB.Recordset
    rs.Open sql, dbcon, adOpenStatic, adLockReadOnly
   
    If rs.RecordCount = 0 Then
        GetLieferantZuArtikel = -1
    Else
        GetLieferantZuArtikel = rs!ArtLief
    End If
   
    rs.Close
    Set dbcon = Nothing

End Function

Public Sub ArtikelErgänzenEK(ByVal artikel As Long, ByRef bezeichnung, ByRef ek, ByVal lief As String)

Dim dbcon As ADODB.Connection, rs As ADODB.Recordset
Dim sql As String

    sql = "SELECT ArtBezeichnung, ArtEKPreis FROM tblArtikel WHERE ArtNr=" & artikel

    Set dbcon = CurrentProject.Connection
    Set rs = New ADODB.Recordset
    rs.Open sql, dbcon, adOpenStatic, adLockReadOnly
   
    bezeichnung = rs!ArtBezeichnung
    ek = rs!ArtEKPreis
   
    rs.Close
    Set dbcon = Nothing

End Sub

Public Function GetArtikelVKPreis1(ByVal artikel As Long) As Currency

Dim dbcon As ADODB.Connection, rs As ADODB.Recordset

    Set dbcon = CurrentProject.Connection
    Set rs = New ADODB.Recordset
   
    rs.Open "tblArtikel", dbcon, adOpenStatic

    rs.Find "[ArtNr]=" & artikel
   
    If rs.EOF Then
        GetArtikelVKPreis1 = 0
    Else
        GetArtikelVKPreis1 = rs!ArtVKPreis
    End If
   
    rs.Close
    Set dbcon = Nothing
   

End Function

Public Function GetArtikelVKPreis2(ByVal artikel As Long) As Currency

Dim dbcon As ADODB.Connection, rs As ADODB.Recordset
Dim sql As String

    Set dbcon = CurrentProject.Connection
    Set rs = New ADODB.Recordset
    sql = "SELECT ArtVKPreis FROM tblArtikel WHERE ArtNr=" & artikel
   
    rs.Open sql, dbcon, adOpenStatic, adLockReadOnly

    If rs.EOF And rs.BOF Then
        GetArtikelVKPreis2 = 0
    Else
        GetArtikelVKPreis2 = rs!ArtVKPreis
    End If
   
    rs.Close
    Set dbcon = Nothing
   

End Function


Public Function GetArtikelVKPreis3(ByVal artikel As Long) As Currency

Dim dbcon As ADODB.Connection, rs As ADODB.Recordset
Dim sql As String

    Set dbcon = CurrentProject.Connection
    Set rs = New ADODB.Recordset
    sql = "EXECUTE spGetArtikelPreis " & artikel
   
    rs.Open sql, dbcon, adOpenStatic, adLockReadOnly
    GetArtikelVKPreis3 = rs!preis
   
    rs.Close
    Set dbcon = Nothing
   

End Function



Public Function GetArtikelVKPreis4(ByVal artikel As Long) As Currency

Dim dbcon As ADODB.Connection, rs As ADODB.Recordset
Dim sql As String

    Set dbcon = New ADODB.Connection
    dbcon.Open "File Name=C:\TIKO.udl", , "1152KK"
   
    Set rs = New ADODB.Recordset
    sql = "SELECT ArtVKPreis FROM tblArtikel WHERE ArtNr=" & artikel
   
    rs.Open sql, dbcon, adOpenStatic, adLockReadOnly

    If rs.EOF And rs.BOF Then
        GetArtikelVKPreis4 = 0
    Else
        GetArtikelVKPreis4 = rs!ArtVKPreis
    End If
   
    rs.Close
    Set dbcon = Nothing
   

End Function

Public Function GetArtikelVKPreis5(ByVal artikel As Long) As Currency

Dim dbcon As ADODB.Connection, rs As ADODB.Recordset
Dim sql As String

    Set dbcon = New ADODB.Connection
    'dbcon.Open "rovider=SQLOLEDB.1;Integrated Security=SSPIersist Security Info=False;Initial Catalog=TIKO;Data Source=KK07"
    dbcon.Provider = "SQLOLEDB"
    dbcon.Open "Integrated Security=SSPIersist Security Info=False;Initial Catalog=TIKO;Data Source=KK07"
   
   
    Set rs = New ADODB.Recordset
    sql = "SELECT ArtVKPreis FROM tblArtikel WHERE ArtNr=" & artikel
   
    rs
8#
发表于 2002-12-25 22:34:00 | 只看该作者
怎么还是ADO2.7呵。
9#
发表于 2003-1-6 16:16:00 | 只看该作者
蛊惑罗密欧(什么波罗波罗密的)Ado.net不就是ADO2。7吗?
10#
发表于 2003-1-7 17:57:00 | 只看该作者
也许接口是一样。不过代吗不一样。你这样写法还是沿用了。VB6。0时代的写发。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-4-27 23:19 , Processed in 0.096239 second(s), 33 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表