注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

何红霞

爱情,我唯一的宗教,我一无所求;我唯一的遗产,我一无所有。

 
 
 

日志

 
 

学生信息管理系统:无法实现信息的添加  

2014-06-17 21:17:25|  分类: 数据库 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
 近期遇到的一个问题就是无法实现信息的添加了,可是程序又总是提示添加成功,根本不报任何错。

对于这个问题,做了总结。
一个问题的解决,首先得理清它所在功能块的运行步骤,这样才能逐一排除。比如说添加信息:首先,打开数据库,指明添加的位置;其次,写入命令添加信息;然后,进行数据的更新;最后,操作执行完毕,关闭数据库。

我总以为,包括师傅开始也认为是我的添加命令写错了。在反复求证后,确认添加命令没有错,从这儿,我和师傅的差距就出来了,我们同样用了断点调试,可是我始终没有看出来哪一步有问题,而师傅看了一会儿,说我肯定是调用的那个函数写错了。

由这个问题,我理出了一条解决问题的思路:
一、理清功能块运行的步骤,逐一排除;二、查看是否存在语法错误;三、查看是否有调用函数;四、核实函数是否正确书写。

借由这个问题说一下我对调用模块中一个函数的理解,因为多次用到。
Public Function executesql(ByVal sql As String, msgstring As String) As ADODB.Recordset‘'传递参数SQL传递查询语句,MsgString传递查询信息。自身以一个数据集对象的形式返回 

    Dim cnn As ADODB.Connection’定义连接
    Dim rst As ADODB.Recordset‘定义数据集
    Dim stokens() As String’定义字符串

    On Error GoTo executesql_error‘进行错误处理

    stokens = Split(sql)'用Split函数产生一个包含各个子串的数组    关于Split函数
    Set cnn = New ADODB.Connection'创建连接 
    cnn.Open connectstring’进行连接   其中connectstring函数返回了数据源

    If InStr("INSERT,DELETE,UPDATE", UCase$(stokens(0))) Then '非Select语句 判断是否含有指定内容

        cnn.Execute sql ‘执行查询语句
        msgstring = stokens(0) & " query successful "’返回查询信息
        '虽然msgstring不是返回值,但传递方式是ByRef,是参地址和这个地址相同

    Else

        Set rst = New ADODB.Recordset‘创建数据集对象
        rst.Open Trim$(sql), cnn, adOpenKeyset, adLockOptimistic’返回查询结果,这一句也是我的问题所在。
        '得到临时表,游标指向第一条记录
        'get recordcount
        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

针对我出问题的具体解决情况进行说明
本该是adLockOptimistic非让我给写成了adLockBatchOptimistic。 关于aslockoptimistic
这二者的区别:adLockOptimistic   当数据源正在更新时,系统并不会锁住其他用户的动作,其他用户可以对数据进行增、删、改的操作。    

  adLockBatchOptimistic   当数据源正在更新时,其他用户必须将CursorLocation属性改为adUdeClientBatch才能对数据进行增、删、改的操作。

 

  评论这张
 
阅读(181)| 评论(108)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017