数据库经验【VB】2

来源:互联网 发布:淘宝坑店 编辑:程序博客网 时间:2024/06/05 07:50

  相信大家在开始一门新的语言学习的时候都会遇到巨大的阻力。我也是的。在熟练掌握VB语言将近6年了,却用了5天攻破了数据库的壁垒。这不能不说是一个悲剧。因为我在3年前就开始尝试数据库的编程,但是这个过程中的学业压力与技术难度彻底压倒了我,让我放弃了对数据库的追求。

  然而,现在。因为一些需要,数据库成为我必须攻克的碉堡,所以我竭尽全力,终于得到了成功。

  我所走的这些弯路,大都是因为网络的资料不全,或者稀缺导致的。为了不让后来的同志们再次浪费时间于这个事情上,我毫无保留的写下自己的经验,为大家铺路。

  在这里,首先要感谢我成长的论坛“编程爱好者论坛”。正是在论坛众多的高手的鼓励和无私的技术支持下,我才去的了现在的知识。然后,感谢“雨天-VB6技术”群。正是这个QQ群中的高手给了我这次编程中碰到的许多棘手问题的答案!感谢他们!!!【提醒:想加入雨天群需要有一定的技术基础,请在学习有感觉后,在申请加入,否则很可能碰壁】

  言归正传:在这一个章节,我将讲述如何通过纯代码的手段访问数据库,对数据进行添加、删除、修改、搜索等操作。

  首先,说明一下,这个程序的语言是Visual Basic语言,其他语言【C++builder】的版本会以后发布。

  数据库个储存结构有必要先做一个阐述:

  数据库的实现方式比较复杂,但是从编程进行数据存取上来讲,就相对来说没有那么复杂。

  这里,依据的是微软的数据库“Access2007版本”。首先有一个数据库文件,这个文件就是你要连接到的数据库。微软的Access2007的数据库文件是以“.mdb”后缀结尾的。假设我们建立了一个数据库,文件名为“begin.mdb”

  这个时候,就涉及到数据库文件的下一级别。即数据表。数据表下有字段,字段也就是行。一个数据库文件中可以有好几个表;每个表中,可以后好几个字段;每个字段中,只能有一个数据,或者为空。【如下图】

为了理解字段的关系,请大家看下面的图:



如图,这里“A”就是字段。1,2,3,等等都是行号。但是,这个在数据库中是不会显示出来的。因为你的操作都是仅仅对一行进行,也只能对一行进行。所以,暂时不引人行号【好吧,我承认我也没搞清楚行号怎么引用……】
    好,那么……上代码!
       【注意:下面的conn,res这两个名字不是规定的,你可以自己决定合法的名字去取代它们。比如conn换成mkl,res换成getme……都可以!】
  首先,建议在VB项目中建立模块,在模块的声明区域添加
  Public conn As ADODB.Connection
       Public res As ADODB.Recordset
   这句话声明了公共对象,conn作为数据源连接对象;res作为记录集对象。最重要的是,这样可以在程序的任何一个地方引用对象而不需要再次声明。这样可以大大节约代码,减轻书写代码的量,并且可以避免产生难以修改的错误。
  Set conn = New ADODB.Connection         '[这句,初始化conn对象,是不可少的,可以肤浅的理解为激活这个对象]
  conn.CursorLocation = adUseClient          '[这个是设定游标;初学者照抄即可]
  conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\txl.mdb;"    '这句话重点是:“Date Source=”后面的内容要是数据库文件的路径。如果有密码还需要包含密码信息。
  Set res = New ADODB.Recordset            '[同理,激活res记录集对象]
      这样就完成了数据库的连接。
——————————————————————————————————————————————————
  接下来,看一个完整的代码【这个代码仅仅是为了表明连接数据库,到获取到字段的数据的整个流程,故不存在“模块文件中的声明”】;假设数据库路径为“C:\123.mdb”,其中含有记录集“txl”;“txl”中含有字段id,uName,uPhone,uSex,uAddress;其中,id为序号,不会重复。事先已定义字符串变量:names,phones,sexs,address\
Private Sub OpenDataBase_Click()
       Dim conn As ADODB.Connection
  Dim res As ADODB.Recordset
  Set conn = New ADODB.Connection
  conn.CursorLocation = adUseClient
  conn.Open "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & "C:\123.mdb;"
  Set res = New ADODB.Recordset
  res.Open "select * from txl", conn, adOpenStatic, adLockOptimistic  '通过sql语句打开记录集
    If res.RecordCount = 0 Then       '当数据库返回结果为空,即txl这个表没有任何数据
    res.Close                                   '一定记住,记录集连接在用完后要关闭。【数据库也一样】\
    conn.Close          '关闭数据库连接
         Exit Sub            ‘退出过程
         Else
         End If
       names=res.Fields("uName")        '从字段“uName”中读取其数据
  phones=res.Fields("uPhone")        '同理
  sexs=res.Fields("uSex")            '同理
  address=res.Fields("uAddress")        '同理
    res.Close                '记录集连接在用完后要关闭
 conn.Close            '关闭数据库连接
 End Sub 
  相信学习VB有一定时间的同学,朋友们一定已经理解了,那么就自己实践一下吧!
  对于仅仅学习了C语言的同学:C语言在电脑上用的已经不多了,虽然系统等高端应用是用C语言写的内核,但是,毕竟我们不会去干这种事情啊!因为C语言是控制台界面【也就是我们通常见到的运行时黑底白字的界面】的程序,实际应用不多。所以,推荐学习一门简单易懂的,可以用来编写windows程序的语言。比如VB,Delphi,C++ Builder【微软的Visual C++个人不推荐,因为其编程很麻烦……】。其中,我特别推荐VB6.0和C++builder 6.0。
       好吧,今天就到这里,谢谢大家。
  如果觉得好的话,认真的看,同时帮忙转载,让更多的人能够看到;如果觉得不好的话,留下建议。相信我会做得更好的!再次感谢帮助过我的网友们!


【附:我编写的通讯录程序图片。需要软件的同学可以留言索取】图片如下:


0 0
原创粉丝点击