【机房收费系统】VB中增删改查实践探索

    既然软件由 程序,数据 和文档组成,那么系统自然少不了数据库的使用。 
    今天,我就给大家分享一下,我在这次实践中关于数据库基本功能——增删改查的理解和实现 。

一、VB中集成的数据库对象

    站在巨人的肩膀上是我们一贯的作风,那么关于vb和数据库,有哪些巨人等着我们来踩呢? 下面我来为大家介绍三个大巨人 、四个小巨人。他们是

这里写图片描述

一、大巨人 (独立对象)

    1. connection  
    这次的系统中,主要用到了它的这两个方法。
connection.open  connectionstring 
connetion.execute sql

open 打开数据连接字符串(关于如何获取字符串connectionstring,因为之前写过这个,就不再写了。感兴趣的读者可以链接过去看看。详细介绍了关于四种数据源字符串连接的获取方式)

execute 执行 sql语句(这个没什么注意的)

2.command
这次敲系统没怎么用上,就不多说了

3.recordset

recordset.addnew    '增加新记录 
recordset.update   
recordset.recordcount '统计记录数,在这次系统中我用这个属性来判断信息是否输入正确。例如:
if recordset.recordcount= 0 then
    msgbox "信息有误,请进行核对!"
else 
    txtNumber.text=recordset.fields(0) 
end  if

a、update 方法用来干什么?

答:更新记录,经常有同学在程序的末尾忘记加这句话,然后就会发现,语句都执行了呀! 为什么数据库中的数据没有变化? 原因就在这里。它还没有同步更新。

b、recordcount =0 的时候, eof 和bof 自然也都是 true 。因为没有记录,所以它既在第一条记录前,又在最后一条记录后。

c、 注意: 如果使用fields 属性的话,一定要清楚它是从0 开始的。 不过在这次系统开发中, 因为是以快速原型法进行开发、 数据库经常改动,我就没有怎么使用fields属性。 因为字段的位置(*)会变。 如果大家遇到和我类似的情况、推荐使用 recordset!字段名 这样的表达方式来提取数据库中的数据。
二、小巨人 依赖对象
1.field
2.parameter
3.error
4.property

本次开发的过程中只用到了 依赖对象errror 示例如下:

MsgString ="查询错误:"& err.description 

会对报错原因进行描述,通过查看description 属性就能知道哪里出现了问题。

二、 系统实践过程中代码的具体实现

因为整个系统用的最多的就是增删改查操作,所以将它写到了模块中。如下:
public function ConnectionString() as string 
ConnectionString = "FileDSN=mycharge.dsn;UID=sa;PWD=111111"
end function 
Public Function ExecuteSQL(ByVal sql As String, MsgString As String) As ADODB.Recordset '从数据库中检索数据

    Dim cnn As ADODB.Connection
    Dim rst As ADODB.Recordset
    Dim stokens() As String   '生命一个变量来记录截断后的字符串

    On Error GoTo ExecuteSql_Error
    Connection

    stokens = Split(sql)   'split 函数截断字符串
    Set cnn = New ADODB.Connection
    cnn.Open ConnectionString  
    If InStr("insert,delete,update", UCase$(stokens(0))) Then '判断是否是插入,删除,更新语句 如果是,直接执行;不然就声明一个记录集,存储查询到的记录。
        cnn.Execute sql
        MsgString = stokens(0) & "query successful"
    Else
        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
调用的时候,如下所示:
dim txtsql as string   ' 记录sql语句
dim msgtext as string   ' 记录执行信息

增加记录:
txtsql = "insert * from 表名称" 

删除记录:
txtsql= "delete * from 表名称  where 列名称 = 值 " ' 值如果是变量的话要'"& 变量名 & "'

更改记录:
txtsql= "UPDATE 表名称 SET 列名称 = 新值 WHERE 列名称 = 某值"

查找记录
txtsql ="select * from 表名称 where 列名称 =值"

Executesql txtsql,msgtext  ' 执行

如果是select语句的话
set mrc= executesql(txtsql,msgtext)

这就是这次系统中对于vb中增删改查的收获。

评论 22
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码农胖虎-java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值