当前位置:编程学习 > VB >>

VB中DataGrid中编辑问题 急急急!!!---先谢谢了

我是想在DataGrid编辑,修改的数据直接保存到数据库中,代码如下: 

Private   Function   mfnLoadData()   As   Boolean 
On   Error   GoTo   ErrorHandle 
        Dim   rst   As   ADODB.Recordset 
        Dim   mstrSQl   As   String 

        '''通过Grid显示VwkPF037B数据 
        mstrSQl   =   "Select   TType,Whse,Loc,Per_30Prov,Per_60Prov,Per_90Prov," 
        mstrSQl   =   mstrSQl   &   "         Per_180Prov   ,   Per_360Prov,   Over_Per_360Prov" 
        mstrSQl   =   mstrSQl   &   "         From   VwkPF037B" 
        Set   rst   =   New   ADODB.Recordset 
        rst.Open   mstrSQl,   gCnn_Conn,   adOpenDynamic,   adLockOptimistic 
        Set   Grid.DataSource   =   rst 
        
        With   Grid 
                .Refresh 
                .Columns(0).Width   =   500 
                .Columns(1).Width   =   1000 
                .Columns(2).Width   =   1000 
                .Columns(3).Width   =   900 
                .Columns(4).Width   =   900 
                .Columns(5).Width   =   900 
                .Columns(6).Width   =   900 
                .Columns(7).Width   =   900 
                .Columns(8).Width   =   1100 
        
                .Columns(0).Caption   =   "TYPE" 
                .Columns(1).Caption   =   "WHSE" 
                .Columns(2).Caption   =   "LOC" 
                .Columns(3).Caption   =   "30Prov%" 
                .Columns(4).Caption   =   "60Prov%" 
                .Columns(5).Caption   =   "90Prov%" 
                .Columns(6).Caption   =   "180Prov%" 
                .Columns(7).Caption   =   "360Prov%" 
                .Columns(8).Caption   =   "> 360Prov%" 
                
                .Width   =   8200 
        End   With 
        
        mfnLoadData   =   True 
        Exit   Function 
ErrorHandle: 
        MsgBox   Err.Number   &   ","   &   Err.Description   &   "----mfnLoadData",   _ 
                      vbOKOnly   +   vbCritical,   "PF037" 
        mfnLoadData   =   False 
End   Function 

Private   Sub   Grid_Error(ByVal   DataError   As   Integer,   Response   As   Integer) 
        Response   =   0 
End   Sub 

当我修改4-5条记录中值的时候,,有2个问题出现: 
1、鼠标不可以选择在往下选择其它行的值了,只能停留在最后修改的这行的上。 
2、退出窗体出现“Row   Cannot   be   located   for   updating.same   values   may   have   been   changed   since   it   was   last   read.” 
望高手们指点一二,非常感谢。 
--------------------编程问答-------------------- "无法为更新定位行.一些值可能在最后一次读取后已经改变."
有几个检查方法:
  1、检查表有没有设主键,设一个主键试试   
  2、检查默认值,删掉默认值试试
  3、每次操作都先rst.close;再rst.open --------------------编程问答-------------------- 非常谢谢,可以了。
补充:VB ,  基础类
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,