📄 9-4.frm
字号:
VERSION 5.00
Object = "{5E9E78A0-531B-11CF-91F6-C2863C385E30}#1.0#0"; "MSFLXGRD.OCX"
Begin VB.Form Form1
Caption = "RDO 数据访问"
ClientHeight = 3915
ClientLeft = 60
ClientTop = 345
ClientWidth = 5580
LinkTopic = "Form1"
ScaleHeight = 3915
ScaleWidth = 5580
StartUpPosition = 3 '窗口缺省
Begin VB.CommandButton Edit
Caption = "编辑"
Height = 495
Left = 2160
TabIndex = 5
Top = 3240
Width = 975
End
Begin VB.CommandButton Find
Caption = "查询"
Height = 495
Left = 120
TabIndex = 4
Top = 3240
Width = 975
End
Begin VB.CommandButton Add
Caption = "增加"
Height = 495
Left = 1200
TabIndex = 2
Top = 3240
Width = 855
End
Begin VB.CommandButton Del
Caption = "删除"
Height = 495
Left = 3240
TabIndex = 1
Top = 3240
Width = 975
End
Begin VB.CommandButton Exit
Caption = "退出"
Height = 495
Left = 4320
TabIndex = 0
Top = 3240
Width = 975
End
Begin MSFlexGridLib.MSFlexGrid Grid1
Height = 2895
Left = 120
TabIndex = 3
Top = 120
Width = 5295
_ExtentX = 9340
_ExtentY = 5106
_Version = 393216
Rows = 1
Cols = 4
FixedCols = 0
AllowUserResizing= 1
End
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Option Explicit
'包含事件的连接环境
Private WithEvents Cn As rdoConnection
Attribute Cn.VB_VarHelpID = -1
'结果集
Dim Rs As rdoResultset
'增加记录程序
Private Sub Add_Click()
Dim Name As String
Dim Sex As String
Dim Age As Integer
Dim S As String
'输入姓名
'注意:字符串长度不能大于数据库字段长度
Name = Left(InputBox("输入姓名", "输入", , 1000, 300), 20)
'姓名不能为空
If Len(Name) = 0 Then
Exit Sub
End If
'输入性别
Sex = Left(InputBox("输入性别", "输入", , 1000, 300), 2)
'输入年龄
Age = Val(InputBox("输入年龄", "输入", , 1000, 300))
'在RDO中,可以用结果集修改数据,也可以用rdoConnection对象直接执行SQL实现
'注释中的部分是修改结果集方式
'Rs.AddNew
'修改字段值
'注意:修改字段值必须在
'AddNew状态(执行AddNew方法后)或Edit状态
'Rs(0)=name
'Rs(1)=sex
'Rs(2)=age
'保存新记录
'Rs.Update
'以下直接执行SQL语句增加数据
'定义SQL语法串
S = "Insert into Demo values('" & Name & "', '" & Sex & "', " & Str(Age) & ")"
'执行该SQL语句
Cn.Execute S '执行SQL语句
Cn.CommitTrans '提交修改
End Sub
'修改数据程序
Private Sub Edit_Click()
Dim s_number As String
Dim number As Integer
Dim Name As String
Dim Sex As String
Dim Age As Integer
'输入要修改的记录的记录号
s_number = (InputBox("输入记录号", "输入", , 1000, 300))
If Len(s_number) = 0 Then
Exit Sub
End If
number = Val(s_number)
'Rs.MoveLast
If number > Rs.RowCount Or number <= 0 Then
Exit Sub
End If
'移动指针到指定记录
Rs.AbsolutePosition = number
'输入姓名
'注意:字符串长度不能大于数据库字段长度
Name = Left(InputBox("输入姓名", "输入", Rs(0), 1000, 300), 20)
'姓名称段不能为空
If Len(Name) = 0 Then Exit Sub
'输入性别
Sex = Left(InputBox("输入性别", "输入", Rs(1), 1000, 300), 2)
'输入年龄
Age = Val(InputBox("输入年龄", "输入", Rs(2), 1000, 300))
'进入编辑模式开始修改
Rs.Edit
Rs(0) = Name
Rs(1) = Sex
Rs(2) = Age
'保存修改
Rs.Update
End Sub
'"退出"按钮处理程序
Private Sub Exit_Click()
Unload Me
End Sub
'显示数据记录
Private Sub Find_Click()
Dim i As Long
'获得记录集最大记录数
Rs.MoveLast
'将记录集指针移到开始位置
Rs.MoveFirst
Grid1.Rows = Rs.RowCount + 1
For i = 1 To Rs.RowCount
Grid1.Row = i '设置行位置
Grid1.Col = 0 '设置为第一列
Grid1.Text = " " & Str(i)
Grid1.Col = 1
Grid1.Text = " " & Rs!姓名
Grid1.Col = 2
Grid1.Text = " " & Rs!性别
Grid1.Col = 3
Grid1.Text = " " & Str(Rs!年龄)
Rs.MoveNext
Next i
End Sub
'删除指定姓名的记录
Private Sub Del_Click()
Dim Name As String
Name = InputBox("输入要删除的姓名", "输入", , 1000, 300)
If Len(Name) = 0 Then Exit Sub
Rs.MoveFirst
Do Until Rs.EOF
If Rs(0) = Name Then
Rs.Delete
End If
Rs.MoveNext
Loop
End Sub
Private Sub Form_Load()
'以下语句用RDO连接数据库
'产生新的连接对象
Set Cn = New rdoConnection
'连接Microsoft Access数据库
Cn.Connect = "uid=admin;pwd=;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" _
& App.Path & "\9.MDB"
Cn.CursorDriver = rdUseOdbc
Cn.EstablishConnection (rdDriverNoPrompt)
'产生结果集
Set Rs = Cn.OpenResultset("select * from demo", rdOpenDynamic, rdConcurRowVer, rdAsyncEnable)
'设置网格宽度
Grid1.ColWidth(0) = 600
Grid1.ColWidth(1) = 2500
Grid1.ColWidth(2) = 1000
Grid1.ColWidth(3) = 1000
'设置字段名显示
Grid1.Row = 0
Grid1.Col = 0
Grid1.Text = " 序号"
Grid1.Col = 1
Grid1.Text = " 姓名"
Grid1.Col = 2
Grid1.Text = " 性别"
Grid1.Col = 3
Grid1.Text = " 年龄"
End Sub
Private Sub Form_Unload(Cancel As Integer)
'该子程序用于关闭DAO
Rs.Close
Cn.Close
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -