rs.Open Trim$(sql), cont, adOpenKeyset, adLockOptimistic
Set TransactSQL = rs
Else
cont.Execute sql
End If
transactsql_exit:
Set rs = Nothing
Set cont = Nothing
Exit Function
transactsql_error:
MsgBox "查询错误:" & Err.Description
Resume transactsql_exit
End Function
同样,因为频繁使用数据库的记录集和执行的SQL语句,所以分别声明这两个类型变量为公共成员变量,方便后面各功能的函数使用,如下所示:
Public rs As New ADODB.Recordset '获取数据库记录集的变量
Public sql As String ' 执行的SQL语句的字符串变量
(2)生词本功能的实现
生词本的基本功能是添加、删除和修改单词,因为都是在设计数据库时常用的基本操作,在很多VB数据库的书籍也有这方面的介绍和详细实现,由于篇幅的限制这里就不详细给出,只有相关图表、代码片段和文字说明,希望读者谅解。
创建生词本的窗体,如图4所示的窗体。
图4生词本的窗体的图示
生词本用到的窗体和控件的详细说明如表1所示。
表1 生词本窗体和控件的说明表
控件类型 |
名称 |
说明 |
Form |
WordsBook |
单词本的窗体 |
CommandButton |
AddButton
(添加) |
单击时,响应 AddButton_Click()函数 |
CommandButton |
DelButton(删除) |
单击时,响应 DelButoon_Click()函数 |
CommandButton |
EditButton(修改) |
单击时,响应 EditButoon_Click()函数 |
MSFlexGrid |
WordsList |
显示数据库中单词相关信息 |
生词本实现的核心代码如下:
Public wordName As String '存储单词名称的临时变量
Public Function WordsList_update() '对单词表(WordsList)的内容更新
sql = "select * from word order by date,state"
Set rs = TransactSQL(sql)
’更新WordsList里的内容
sql = "select * from word order by date,state"
Set rs = TransactSQL(sql)
With WordsList
.Rows = 1
While Not rs.EOF
.Rows = .Rows + 1
.TextMatrix(.Rows - 1, 0) = rs(0)
.TextMatrix(.Rows - 1, 1) = rs(1)
.TextMatrix(.Rows - 1, 2) = rs(2)
rs.MoveNext
Wend
End With
rs.Close
End Function
|