# 键栏位资讯不足或不正确;太多列被更新所影响??

Posted by Lairtec on August 15, 1999 at 01:50:12:

在 DataEnvironment 中有一COMMAND, 为 SQL 指令, 设定如下:
Name => SQL1
SQL Command => Select * From VD Where VID = ? and DT > ? order by DT

进阶设定内容为:
锁定类型 = 3-乐观锁定
资料指标位置 = 3-使用客端资料指标
快取区大小= 100
=====================================================================

资料库 VD 结构如下:

栏位名称 资料型态 索引
VID 数字-长整数 是(可重复)
DT 日期/时间 是(可重复)
MDATA 数字-单精准数 否

=====================================================================

资料库现有内容如下(部份):

VID DT MDATA
211 1999/8/13 PM 05:43:25 10.7
211 1999/8/13 PM 05:43:25 10.7
211 1999/8/13 PM 05:43:25 10.2
211 1999/8/13 PM 05:43:25 10.4
211 1999/8/13 PM 05:43:25 10.4
211 1999/8/13 PM 05:43:25 10.2
211 1999/8/13 PM 05:43:25 10.1
211 1999/8/13 PM 05:59:32 10.0

=====================================================================

现有一 FORM , 上有一 MSHFlexGrid
Option Explicit
DIM rstDATA AS ADODB.RECORDSET

PRIVATE SUB FORM1_LOAD()
IF DataEnvironment.rsSQL1.State <> adStateClosed then
DataEnvironment.rsSQL1rsSQL1.Close
End If
DataEnvironment.Command("SQL1").Parameters(0)=211
DataEnvironment.Command("SQL1").Parameters(1)=#1/1/1999#
DataEnvironment.rsSQL1.Open
Set rstData = DataEnvironment.rsSQL1.Clone
End Sub

现在让 MSHFlexGrid 显示出如上资料库中的内容, 并有一修改按钮,要修改
资料时, 出现TextBox, 输入数值后更新该列在资料库中所对应之数值

Private Sub EDIT()
rstData.Move MSHFlexGrid1.Row-1,1
rsData.Fields("MDATA").Value = Val(Text1.Text)
rsData.Update
End Sub

======================================================================

此时依序修改第一列到第六列的数值, 结果改到第三列就出现错误讯息如下:

-2147467259:键栏位资讯不足或不正确;太多列被更新所影响.

WHY?? 因为并不是修改每一列都会出现该错误, 有些列更改时并无错误出现,
So, It confused me.

小弟认为可能是 VID 及 DT 都相同所致, 但因 MDATA 之数据是仪器自动量测的,
资料撷取速度很快, 同一秒内撷取多笔资料是正常之事, 因此该如何解决此一问题,
请各位先进能提供意见, 谢谢!!
======================================================================
原本我有加一自动编号栏位, 以确保下次资料出现的顺序与这次输入顺序相同
(因我试过有时下次开启资料时发现顺序与上次输入时之顺序不同), 但因在新
增资料后若要马上修改资料会有错误发生, 经 TRACE 发现新增数笔资料后,
刚才新增资料的自动编号栏位之值均为零, 若其型态为 TABLE 时亦同. 但型态
为 TABLE 时,可下REQUERY 即可恢复正常, 但SQL 型态在下REQUERY时亦会有错
误出现. 对此事亦极感困扰, 不知有何解决之道??
故现在是改以输入时间当做排序的依据, 但总觉不是好方法, 因有时可能会不正确.
(如修改数据, 时间可能会比前后笔资料都晚)
=====================================================================

SORRY, 写了这么多, 希望各位先进能了解我的问题, 并能给予解答, 小弟会
感激不尽的, 谢谢!!

Follow Ups:

- Re: 键栏位资讯不足或不正确;太多列被更新所影响?? Sun Jack 02:06:07 8/15/99 (0)