日期:2014-05-16 浏览次数:20437 次
首先画了一个图,是整个系统的工作过程:
系统用到的主要关于数据库的语句:
查询语句:"select * from 表 where 字段名='"&text1.text&"'"
删除语句:1."delete from 表名 where 字段名 = '" & Trim(text1.Text) & "'"
2.recordset.delect
更新语句:recordset.addnew
recordset.fields(i)=trim(text1.text)
mrc.update
在这个系统中自己获得到的知识:
一.Sub main()作为启动窗体:
作用:1.有选择的加载需要的窗体
2.启动程序时快速显示窗体
二.recordset的深入理解
这一代码加上后面调用这个函数使我更好的理解了recordset
Public Function ExecuteSQL(ByVal SQL As String, MsgString As String) As ADODB.Recordset
'executes SQL and returns Recordset
Dim cnn As ADODB.Connection '声明的连接
Dim rst As ADODB.Recordset '声明的结果集
Dim sTokens() As String '定义字符串数组
On Error GoTo ExecuteSQL_Error '处理错误
sTokens = Split(SQL) '把每个字符串分开,就例如查询语句,stokens(0)=select
Set cnn = New ADODB.Connection '建立连接对象
cnn.Open ConnectString '调用连接数据库函数
If InStr("INSERT,DELETE,UPDATE", UCase$(sTokens(0))) Then '第一个词非Select语句
cnn.Execute SQL '数据量不大时,可以在连接上,直接执行SQL语句
MsgString = sTokens(0) & " query successful"
'虽然MsgString不是返回值,但传递方式是ByRef,实参地址和这个地址相同
Else '第一个词是Select语句
Set rst = New ADODB.Recordset
rst.Open Trim$(SQL), cnn, adOpenKeyset, adLockOptimistic
'得到临时表,游标指向第一条记录
Set ExecuteSQL = rst
MsgString = "查询到" & rst.RecordCount & _
" 条记录 "
End If
ExecuteSQL_Exit: '释放定义的结果集,连接,并退出程序
Set rst = Nothing
Set cnn = Nothing
Exit Function
ExecuteSQL_Error: '错误处理
MsgString = "查询错误: " & _
Err.Description
Resume ExecuteSQL_Exit
End Function
三.控件的了解
1.做查询功能时,MSHFlexgrid控件的了解和运用
2.在修改代码时进一步对listbox的属性和方法的了解
四:登陆系统时首先获取用户名的api函数GetUserName的运用
Dim strBuffer As String
Dim lgSize As Long
strBuffer = Space$(255) '分配255个字符空间
lgSize = Len(strBuffer)
Call GetUserName(strBuffer, lgSize) '获取当前用户名,有利于安全性
'API中字符串作参数,需要提前确定大小
If lgSize > 0 Then
txtUserName.Text = "student"
Else
txtUserName.Text = vbNullString '没有字符串
E