📄 form1.frm
字号:
VERSION 5.00
Object = "{5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0"; "Msflxgrd.ocx"
Begin VB.Form Form1
Caption = "Form1"
ClientHeight = 5505
ClientLeft = 3855
ClientTop = 3330
ClientWidth = 8640
LinkTopic = "Form1"
MaxButton = 0 'False
ScaleHeight = 5505
ScaleWidth = 8640
Begin VB.OptionButton Option4
Caption = "OLE DB"
BeginProperty Font
Name = "MS Sans Serif"
Size = 13.5
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 6000
TabIndex = 8
Top = 3000
Width = 1455
End
Begin VB.CommandButton Command2
Caption = "退出"
BeginProperty Font
Name = "MS Sans Serif"
Size = 13.5
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 615
Left = 5880
TabIndex = 7
Top = 4680
Width = 2655
End
Begin VB.OptionButton Option1
Caption = "DAO"
BeginProperty Font
Name = "MS Sans Serif"
Size = 13.5
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 375
Left = 6000
TabIndex = 3
Top = 840
Value = -1 'True
Width = 1335
End
Begin VB.OptionButton Option2
Caption = "ADO"
BeginProperty Font
Name = "MS Sans Serif"
Size = 13.5
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 6000
TabIndex = 4
Top = 1440
Width = 1335
End
Begin VB.OptionButton Option3
Caption = "ODBC"
BeginProperty Font
Name = "MS Sans Serif"
Size = 13.5
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 495
Left = 6000
TabIndex = 5
Top = 2280
Width = 1335
End
Begin VB.CommandButton Command1
Caption = "显示"
BeginProperty Font
Name = "MS Sans Serif"
Size = 13.5
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 615
Left = 5880
TabIndex = 2
Top = 3720
Width = 2655
End
Begin VB.Frame Frame1
Height = 5055
Left = 120
TabIndex = 0
Top = 240
Width = 5415
Begin MSFlexGridLib.MSFlexGrid MSFlexGrid1
Height = 4575
Left = 240
TabIndex = 1
Top = 360
Width = 5055
_ExtentX = 8916
_ExtentY = 8070
_Version = 393216
Cols = 5
End
End
Begin VB.Label Label1
AutoSize = -1 'True
Caption = "选择数据库连接方式:"
BeginProperty Font
Name = "MS Sans Serif"
Size = 13.5
Charset = 0
Weight = 400
Underline = 0 'False
Italic = 0 'False
Strikethrough = 0 'False
EndProperty
Height = 360
Left = 5760
TabIndex = 6
Top = 240
Width = 3000
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
'整个程序功能是选择不同的连接方式来进行显示工作,三种方式显示效果完全相同
Private Sub Command1_Click()
Dim selitem As Integer
'判断连接数据库的方式
If Option1.Value = True Then
selitem = 1
Else
If Option2.Value = True Then
selitem = 2
Else
selitem = 3
End If
End If
'选取不同的数据库连接方式
Select Case selitem
Case 1:
'使用DAO的数据库连接方式
Call ShowByDAO
Case 2:
'使用ADO的数据库连接方式
Call ShowByADO
Case 3:
'使用ODBC的数据库连接方式
Call ShowByODBC
Case 4:
'使用OLEDB的数据库连接方式
Call ShowByOLEDB
End Select
End Sub
Private Sub ShowByDAO()
'使用DAO的数据库连接方式
Dim db As Database
Dim rs As Recordset
Dim sqlstr$ '存放查询语句
Set db = OpenDatabase(App.Path & "\db1.mdb")
sqlstr = "select * from 成绩表"
Set rs = db.OpenRecordset(sqlstr)
'显示结果
Call GridShow(rs)
End Sub
Sub ShowByADO()
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
'使用数据源来连接数据库
conn.Open "dsn=data"
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
rs.Open "select * from 成绩表", conn
Call GridShowOfADO(rs)
End Sub
Sub ShowByODBC()
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
'使用数据源来连接数据库
conn.Open "Provider=MSDASQL.1;Persist Security Info=False;Data Source=data"
rs.Open "select * from 成绩表", conn
'显示结果
Call GridShowOfADO(rs)
End Sub
Sub ShowByOLEDB()
Dim conn As New ADODB.Connection
Dim rs As New ADODB.Recordset
rs.CursorType = adOpenKeyset
rs.LockType = adLockOptimistic
'使用数据源来连接数据库
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + App.Path & "\db1.mdb" + ";Persist Security Info=False"
rs.Open "select * from 成绩表", conn
'显示结果
Call GridShowOfADO(rs)
End Sub
Sub GridShow(rs As Recordset)
'对dao方式进行显示工作
MSFlexGrid1.TextMatrix(0, 0) = "姓名"
MSFlexGrid1.TextMatrix(0, 1) = "性别"
MSFlexGrid1.TextMatrix(0, 2) = "语文"
MSFlexGrid1.TextMatrix(0, 3) = "数学"
MSFlexGrid1.TextMatrix(0, 4) = "英语"
rs.MoveLast
MSFlexGrid1.Rows = rs.RecordCount + 1
MSFlexGrid1.Cols = rs.Fields.Count
Dim i%
i = 1
rs.MoveFirst
While (Not rs.EOF)
MSFlexGrid1.TextMatrix(i, 0) = rs.Fields(0)
MSFlexGrid1.TextMatrix(i, 1) = rs.Fields(1)
MSFlexGrid1.TextMatrix(i, 2) = rs.Fields(2)
MSFlexGrid1.TextMatrix(i, 3) = rs.Fields(3)
MSFlexGrid1.TextMatrix(i, 4) = rs.Fields(4)
rs.MoveNext
i = i + 1
'If (rs.EOF = True) Then
' Exit For
Wend
End Sub
Sub GridShowOfADO(rs As ADODB.Recordset)
'对ado方式进行显示工作
MSFlexGrid1.TextMatrix(0, 0) = "姓名"
MSFlexGrid1.TextMatrix(0, 1) = "性别"
MSFlexGrid1.TextMatrix(0, 2) = "语文"
MSFlexGrid1.TextMatrix(0, 3) = "数学"
MSFlexGrid1.TextMatrix(0, 4) = "英语"
'注意recordcount属性必须在当前记录指针在最后一条记录时才会返回正确的值
rs.MoveLast
MSFlexGrid1.Rows = rs.RecordCount + 1
MSFlexGrid1.Cols = rs.Fields.Count
Dim i%
i = 1
rs.MoveFirst
While (Not rs.EOF)
MSFlexGrid1.TextMatrix(i, 0) = rs.Fields(0)
MSFlexGrid1.TextMatrix(i, 1) = rs.Fields(1)
MSFlexGrid1.TextMatrix(i, 2) = rs.Fields(2)
MSFlexGrid1.TextMatrix(i, 3) = rs.Fields(3)
MSFlexGrid1.TextMatrix(i, 4) = rs.Fields(4)
rs.MoveNext
i = i + 1
Wend
End Sub
Private Sub Command2_Click()
End
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -