日期:2014-05-16  浏览次数:20468 次

数据库学习实践(一)----系统登录

      很早就知道,学习是一个过程,只思考不实践是学不好地。

      果然,在视频看了大部分,着手做系统登录例子的时候,才意识到对好多东西陌生,自己眼高手低啦。看视频的时候,了解了数据库的基本结构,对数据库有了初步的了解,了解数据库的基础,了解了如何操作和运用数据库,自己做总结的时候,掌握了数据库的简单模型。有了理论知识,在实际操作时候,依然遇到了很多的问题。

      在做登录系统这个小例子的时候,先看了一遍代码,不清楚,又看了一遍代码,还是不清楚,心想,算了,就这样迷糊的去实现吧,也许在实现的过程中就明白了呢,所以第一遍运行出来的代码,不能说完完全全的照书抄过来,那也抄了大部分,尽管是这样,还是遇到了很多问题。

 

      一:在第一次实现中遇到路径问题:

      开始的时候,我代码是下面这样写的:

      objCn.ConnectionString ="Provider=Microsoft.Jet.OLEDB.3.51;" & "Data Source="& App.Path & "实例01.mdb

      运行的时候不成功,整个代码检查了好多遍。排除了其他部分,就确定问题在这里啦。就这一行代码,反复敲了好多次,最后竟然是少了个反斜杠。

      修改后的代码如下:

     objCn.ConnectionString ="Provider=Microsoft.Jet.OLEDB.3.51;" & "Data Source="& App.Path & "\实例01.mdb

 

      小小的“\”竟然成了导致程序运行不成功,所以,别拿小符号,不当回事儿,也别忽视最最基本的,简单的知识。在大程序里面经常是小的知识,导致程序运行不成功,而这些小知识,也正是我们最容易忽视的。

 

      二:代码理解问题:

     objCn.ConnectionString ="Provider=Microsoft.Jet.OLEDB.3.51;" & "Data Source="& App.Path & "\实例01.mdb"
     objCn.Open

   
      strSQL = "SELECT 口令 FROM 系统用户WHERE 用户名='" & UserName & "'"      
      Set objRs.ActiveConnection = objCn'路径
      objRs.Open (strSQL) '取出信息

 

      objcn这个connection对象都连到了数据源实例01.mdb,为什么还objcn.open呢?已经都连接到数据源啦,为什么还把路径赋给objrs.actibeconnection呢?这四条连续的语句,思来想去还是不怎么理解。

       现在理解啦:

      第一条语句是找到了通往某个位置的路,找好了路径。第二条语句就是,顺着找好的路径,到达那个特定的位置。这两条语句是起通路的作用。

     第四条语句是,另外有人想去那个位置拿东西,得先告诉他位置吧,要不东西肯定会拿错。有位置啦,直奔目的地去拿就行了,这就对应着最后一条语句。

      这几句是VB连接access数据库的经典代码,是模板。以后,用到的时候,可以直接套用。

这个例子是VB连接access中的数据,我想,vb连接sql其他的数据库中的信息的时候,也是这个原理,就用几句语句就行了吧。待验证。

      理解了,也就豁然开朗啦,自己又回过头去做了一遍,感觉非常的不一样。。

 

      三:总结回顾

      整个登录系统就分为三个方面,一个方面是在数据表中建立信息,一个方面是vb做好界面和相关信息,最后一方面就是VB和数据库信息连接。

      详细思路:

      首先,建立数据表;然后,做好登录系统界面,和代码,要编写一函数,其功能是先从表中提取用户名和密码,其次,再判断用户名和密码是否相对应,函数,实现了数据库的连接和用户名密码的判断;最后,就是调用函数,再反馈信息啦。(另外一种实现方法是,在form_load事件中,提取出表中的姓名和密码,在cmdok_clic