【问题标题】:Unspecific behavior of record set in vb6vb6 中记录集的非特定行为
【发布时间】:2010-10-01 04:29:42
【问题描述】:

尊敬的专家 我有以下问题 当我尝试从记录集中获取值时,它显示错误 查询是

SSql = "select doj,dol,employeeid from m_employee where employeeid='" & Trim(RsCardNo!Code) & "'" rsCardRepl.Open SSql、Conn、adOpenDynamic、adLockOptimistic
如果 rsCardRepl.RecordCount > 0 那么 调暗温度为整数 临时=修剪(rsCardRepl!employeeId) rsAddPunch!PAYCODE = temp 结束如果

然后下面一行给出错误

temp = Trim(rsCardRepl!employeeId)

错误编号=6 错误描述=溢出

请解释一下为什么会出现这个错误以及解决方案是什么

谢谢 海军基肖潘迪

【问题讨论】:

    标签: vb6 recordset


    【解决方案1】:

    尝试使用光标类型 adOpenForwardOnly 和锁定类型 adLockReadOnly

    【讨论】:

      【解决方案2】:

      也许你需要像这样定义temp Dim temp As Long

      简单来说,溢出错误意味着该值不适合变量。

      • VB6 Integer 可以取值从 -32,768 到 32,767
      • Long 的取值范围为 -2,147,483,648 到 2,147,483,647

      【讨论】:

      • 当我通过调试看到记录集中的值是000849并且列employeeid的数据类型是int所以它们是没有溢出的。
      • 我也会尝试删除修剪。将temp = Trim(rsCardRepl!employeeId) 更改为temp = rsCardRepl!employeeId 即Trim 强制将employeeID 转换为String,然后再转换回Integer
      • 嗨,markj,我也曾尝试将 dim temp 作为字符串,然后 temp = Trim(rsCardRepl!employeeId) 但我仍然遇到同样的错误。
      猜你喜欢
      • 1970-01-01
      • 2015-09-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多