小弟遇到一个怪事,在用spread6时,发现用它挂ADO,数据修改后无法正确存入数据数,而且我发现好象它不支持用ado.UpdateBatch进行保存(同样挂datagrid就行)后来使用它自己的方法datasave,只能保存鼠标双击修改后的数据,而使用
GetArray
CopyRange
MoveRange
等批量变化的数据,窗口上数据已经变化了,但用datasave保存后,依然不能存进数据库,没有任何报错,DAutoSave不管设置成什么都是一样,这是为什么?各位大哥是如何面对保存的?小弟我要实现某一块数据copy到另一位置,但现在好象只能实现一个一个地用鼠标双击修改?

解决方案 »

  1.   

    在做数据操作时最好不要用ADODC控件这个“黑盒子”,很容易出问题的,我也一直在用Spread,从3.0到6.0,Spread6.0还有一些Bug。
    最好把row转换成Update或Insert SQL语句再执行数据库操作,这样容易控制。
    专业的软件都是这样做的,
      

  2.   

    to mePower(mePower):
    这样的话,Spread的刷新将很成问题。
    Spread还有一个致命的bug,不知道你注意到没有,就是对中文支持不好,会出现乱码。
      

  3.   

    Spread对中文支持很好!注意要设置字体,一般设置为宋体9号字。如果要做一个查询界面,一般可以这样:
    Option Explicit
    Dim Cn As ADODB.ConnectionSub AddData()
        
        Dim TSQL As String
        TSQL = "select * from cost_mxproc"
        fpSpread1.MaxCols = 0
        fpSpread1.MaxRows = 0
        Set fpSpread1.DataSource = Cn.Execute(TSQL)
    End SubPrivate Sub Form_Load()
        Set Cn = New ADODB.Connection
        Cn.CursorLocation = adUseClient
        Cn.ConnectionString = "driver=sql server;server=10.97.0.40;uid=sa;pwd=sa;database=netdb"
        Cn.OpenEnd SubPrivate Sub Form_Unload(Cancel As Integer)
        Cn.Close
        
        Set Cn = Nothing
    End SubPrivate Sub RefreshCmd_Click()
        AddData
    End Sub
      

  4.   

    我现在只是用 Spread 把数据导出为 Html 的形式
    它所导出的EXCEL形式偶感觉不是很好,楼主对这了解么???