vb是如何链接数据库的
刚开始学习数据库时 ,对数据库很不了解,尤为是模块中的代码。照着抄都有不少错的,每一句究竟是什么意思呢,根本不懂。因而我就花费了大量的时间去查每一句代码的具体做用,直到我师傅说让我带着问题前进的时候。
不过我仍是稍微有点成果的——我弄懂了模块中的链接数据库的代码。先写出来一些我本身的理解,若是错了,请你们不惜赐教。
Sub Main() '从sub main启动工程
Dim flogin As New frmlogin '登录窗体的模版 ,其中flogin 是一个窗体,不过为何不直接登陆就不懂了。。。
flogin.Show vbModal '把登录窗体实例化
If Not flogin.OK Then 'ok是加载在flogin窗体的一个开关,用来肯定是否登录成功
End
End If
Unload flogin
Set fMainForm = New frmMain '窗体实例化,相似flogin
fMainForm.Show
End Sub
进入登录界面
点击肯定后的代码运行方式
Private Sub cmdok_Click()
Dim txtSQL As String '定义一个字符串,存放sql的语句。
Dim mrc As ADODB.Recordset ’定义一个结果集(或者说是临时的表格)存放从数据库中调出的数据
Dim MsgText As String ’定义一个字符串,存放链接数据库的结果。通常再也不用户界面体现
If Trim(txtUserName.Text) = "" Then '验证用户名栏是否为空
MsgBox "请输入用户名", vbOKOnly, "警告" '若是是空的话,直接警告并退出
exit sub
Else
txtSQL = "select * from user_info where user_ID='" & Trim(txtUserName.Text) & "'" 'sql语句,这句话的意思是从 'user_info 的表格中取出来全部user_id =用户名中 字符的行。
Set mrc = Executesql(txtSQL, MsgText) '经过Executesql()这个函数将sql 语句送入,并将操做结束后获得的结果集赋值给 mrc <span style="white-space:pre"> </span>' 括号中的txtsql存放的就是sql字符串,关于executesql()函数的运行方式,下面有详细的描述。
If mrc.EOF Then ’.eof是mrc的一个属性,若是从数据库中进行了sql语句的操做,数据库将从第一句开始查找符合条件的项<span style="white-space:pre"> </span>'进行操做,若是查到了最后一句,而且没有发现任何符合条件的项,就会返回. eof= true 不然返回的<span style="white-space:pre"> </span>'则是 .eof=flase 若是他报错的话,说明链接失败 详情参见:<a target=_blank href="http://blog.csdn.net/liyasong666888/article/details/37931469">mrcc.eof</a>
MsgBox "没有该用户,请从新输入!", vbOKOnly, "警告"
txtUserName.SetFocus
Else '若是从数据库中找到了所要找的项的话进行以下操做(此时数据存入mrc)
If Trim(mrc.Fields(1)) = Trim(txtPassword.Text) Then '调出数据中的第一列,看其值是否等于用户输入的密码。
OK = True
Me.Hide
UserName = txtUserName.Text
Else
MsgBox "密码错误,请从新输入密码"
txtPassword.Text = ""
txtPassword.SetFocus
End If
End If
End If
end sub