我用VC作了一个应用程序,底层用了access(sqlserver)作了一个数据库ComMod,它含有一些表和视图,通过ODBC注册数据源,编程时我用ADO组件连上这些库表,现在我想将我在应用时加入的数据保存在程序里,如果下次我打开它时,则可在数据库里能见到这些内容。如果我新建时,则只看到一个空的库表,只有一些结构,而无数据。这该怎么办?

解决方案 »

  1.   

    数据库表中的数据如何保存在程序的变量中?使我再打开程序时又可以将数据加入数据库中
    -----------------
    可以把数据用文件保存起来如.ini信息文件,要在下次加入程序就可以在上次退出的时候添加到数据库
      

  2.   

    你可以创建一个ACCESS文件来保存你的数据,也可以用文本组织,或者是XML也可以,这方式就多了,我推荐用ACCESS文件,方便而且不大
      

  3.   

    用ado2.5以后版本
    xml直接一个save open就可以了
    http://community.csdn.net/Expert/topic/3148/3148019.xml?temp=.5867121
      

  4.   

    如果数据量不大的话,可以存在一个文件里面,至于是xml,ini还是别的什么方式你可以根据你的情况而定,个人认为ini文件存取比较方便,下面是两个存取ini文件常用的函数:
    //取数据
    DWORD GetPrivateProfileString(
      LPCTSTR lpAppName,        // points to section name
      LPCTSTR lpKeyName,        // points to key name
      LPCTSTR lpDefault,        // points to default string
      LPTSTR lpReturnedString,  // points to destination buffer
      DWORD nSize,              // size of destination buffer
      LPCTSTR lpFileName        // points to initialization filename
    );//写数据
    BOOL WritePrivateProfileString(
      LPCTSTR lpAppName,  // pointer to section name
      LPCTSTR lpKeyName,  // pointer to key name
      LPCTSTR lpString,   // pointer to string to add
      LPCTSTR lpFileName  // pointer to initialization filename
    );但如果你的数据量大的话,放在数据库里也是一个不错的选择。
      

  5.   

    谢谢几位,这个问题不知是我说不得不太清楚,还是理解的问题,应该是这样的:不同的人用到同一个库中的相同的表或视图结构,但每次用的时候,我只新建或打开我的内容,而别人的我不希望看到。因此,我的数据源只是连上一个空的库表结构,而具体的内容,我在使用时加入数据库,当用完之后,将这些数据保存在程序中的一个文件(是否可用数组或结构之类的东西)后,将数据库清空。当我再打开时,通过上次的文件又可以将上次保存的数据再放进相应库表之中,接着上次操作进行,依此下去。
       比如access的一个表:abc 字段1 number 字节型 50 非空 主键   字段2 name 文本型 100 非空  字段3 context 文本型 80 可空
      随便写一组值: 1  树   树的定义
    现在想什么办法用何种结构在程序中将它们存起来,使之与表对应,方便在库表和程序中来回倒换。
       数据量中等吧。各位再想一想,分不是问题。重要的是学习和交流。
      

  6.   

    那么可不可以把表征不同人的ID嵌进表名,这样就每个用户都有自己的一张表了,
    以后的操作还是常规的读写数据库,不要什么本地保存了,逻辑太乱。
    程序中用用户ID拼表名很简单就不必说了吧:)
      

  7.   

    参见http://community.csdn.net/Expert/topic/3288/3288160.xml?temp=7.407779E-02和http://community.csdn.net/Expert/topic/3269/3269552.xml?temp=.4862787,呵呵~~我来领分了。