?? frmdao.frm
字號:
VERSION 5.00
Object = "{5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0"; "msflxgrd.ocx"
Begin VB.Form frmDAO
Caption = "DAO Test"
ClientHeight = 3060
ClientLeft = 60
ClientTop = 345
ClientWidth = 7095
LinkTopic = "Form1"
ScaleHeight = 3060
ScaleWidth = 7095
StartUpPosition = 3 '窗口缺省
Begin MSFlexGridLib.MSFlexGrid MSFlexGrid1
Height = 2895
Left = 120
TabIndex = 6
Top = 120
Width = 3795
_ExtentX = 6694
_ExtentY = 5106
_Version = 393216
End
Begin VB.CommandButton cmdOleDbConn
Caption = "OleDb連接"
Height = 375
Left = 4080
TabIndex = 5
Top = 120
Width = 1155
End
Begin VB.CommandButton cmdODBCConn
Caption = "ODBC連接"
Height = 375
Left = 5580
TabIndex = 4
Top = 120
Width = 1155
End
Begin VB.CommandButton cmdODBCAdd
Caption = "ODBC新增"
Height = 375
Left = 5580
TabIndex = 3
Top = 600
Width = 1155
End
Begin VB.CommandButton cmdOleDbAdd
Caption = "OleDb新增"
Height = 375
Left = 4080
TabIndex = 2
Top = 600
Width = 1155
End
Begin VB.CommandButton cmdOleDbDelete
Caption = "OleDb刪除"
Height = 375
Left = 4080
TabIndex = 1
Top = 1080
Width = 1155
End
Begin VB.CommandButton cmdODBCDelete
Caption = "ODBC刪除"
Height = 375
Left = 5580
TabIndex = 0
Top = 1080
Width = 1155
End
End
Attribute VB_Name = "frmDAO"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'記錄集總行數(shù)屬性無效,可以遍歷統(tǒng)計(jì)行數(shù)
'本地?cái)?shù)據(jù)庫建立ODBC,連接無效;可以采用直連本地?cái)?shù)據(jù)庫文件的方式
Option Explicit
Dim ws As Workspace
Dim dbUser As Database
Dim rs As DAO.Recordset
Private Sub cmdODBCAdd_Click()
rs.AddNew
rs(0) = 3
rs(1) = "bobo"
rs.Update
MsgBox "數(shù)據(jù)更新!"
cmdODBCConn_Click
End Sub
Private Sub cmdODBCConn_Click()
MSFlexGrid1.Clear
'ODBC連接ORACLE數(shù)據(jù)庫
Set ws = DBEngine.Workspaces(0)
Dim strConnection As String
strConnection = "DSN=midb;UID=sde;PWD=sde"
Set dbUser = ws.OpenDatabase("", True, False, strConnection)
Set rs = dbUser.OpenRecordset("select * from stu")
'數(shù)據(jù)加載
If rs.RecordCount = 0 Then Exit Sub
Dim rowcount As Integer
rs.MoveFirst
rowcount = 0
Do While Not rs.EOF
rowcount = rowcount + 1
rs.MoveNext
Loop
MSFlexGrid1.Rows = rowcount + 1
MSFlexGrid1.Cols = rs.Fields.Count + 1
Dim i As Integer
For i = 0 To rs.Fields.Count - 1
MSFlexGrid1.TextMatrix(0, i + 1) = rs.Fields(i).Name
Next
rs.MoveFirst
For i = 1 To rowcount
Dim j As Integer
For j = 0 To rs.Fields.Count - 1
MSFlexGrid1.TextMatrix(i, j + 1) = rs(j)
Next j
rs.MoveNext
Next i
End Sub
Private Sub cmdODBCDelete_Click()
If rs Is Nothing Then Exit Sub
rs.MoveLast
rs.Delete
MsgBox "刪除數(shù)據(jù)"
cmdODBCConn_Click
End Sub
Private Sub cmdOleDbAdd_Click()
rs.AddNew
rs(0) = 2
rs(1) = "bobo"
rs.Update
MsgBox "數(shù)據(jù)更新!"
cmdOleDbConn_Click
End Sub
'如果用DAO,搭配DBGrid控件(不直接支持recordset數(shù)據(jù)源,不支持運(yùn)行時設(shè)置數(shù)據(jù)源)。
' DAO --DBGrid?MSFlexGrid
' ADO --DataGrid?MSHFlexGrid
Private Sub cmdOleDbConn_Click()
MSFlexGrid1.Clear
'DAO直連數(shù)據(jù)庫文件
Set dbUser = OpenDatabase("D:\work\FrmTest\db.mdb")
Set rs = dbUser.OpenRecordset("STU")
'數(shù)據(jù)加載
If rs.RecordCount = 0 Then Exit Sub
MSFlexGrid1.Rows = rs.RecordCount + 1
MSFlexGrid1.Cols = rs.Fields.Count + 1
Dim i As Integer
For i = 0 To rs.Fields.Count - 1
MSFlexGrid1.TextMatrix(0, i + 1) = rs.Fields(i).Name
Next
i = 1
Do While Not rs.EOF
Dim j As Integer
For j = 0 To rs.Fields.Count - 1
MSFlexGrid1.TextMatrix(i, j + 1) = rs(j).Value
Next j
i = i + 1
rs.MoveNext
Loop
End Sub
Private Sub cmdOleDbDelete_Click()
If rs Is Nothing Then Exit Sub
rs.MoveLast
rs.Delete
MsgBox "刪除數(shù)據(jù)"
cmdOleDbConn_Click
End Sub
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -