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