用vsFlexGrid控件对Access数据库的编辑、保存?    本人过去对数据库编辑、保存,常用控件MSFlexGrid、vsFlexGrid 7.0绑定处理来完成,但后来发现许多不便、许多功能不能实现。现干脆不用绑定,改为直接从数据库表中全部读出并写入vsFlexGrid控件,在编辑好了以后,再全部写回数据库表。现在的问题是:vsFlexGrid控件表经过编辑处理后,与原表记录的对应关系发生了变化,怎么回写较好?难道必须先删除原表的所有记录,然后再全部添加进来吗?
    我希望的是,对原记录进行覆盖(已有的记录)、新添加的作追加处理。

解决方案 »

  1.   

    保存时,用insert into,修改时用update,就行了。按表格行来更新数据库内容即要。如下面的代码
    with vsflexgrid1
       for i=1 to .rows-1
           rs.close
           rs.open"insert into table values(字段1='"+.textmarry(i,0)+"',字段2='"+.textmarry(i,4)+"'_",conn,3,3
           rs.open"select * from table",conn,3,3
       next
    end with
      

  2.   

    你作不来的,回写时要考虑的情况多如牛毛。
    你等于要把ADO类的功能模拟过来,会把你累死的。vsFlexGrid主要功能集中于显示和操作数据,不支持数据新增。你可以用TrueDBGrid,这个东东完全附合你的要求。