如有个类模块AAA 里面包含了它的属性及方法
接着 Public B As New AAA 
可否将对象B存入数据库 ?

解决方案 »

  1.   


    实际上,任何信息,无非是一系列的 0 和 1. 只要你存入和取出时信息的内容不发生变化,你就可以任何方式保存它。所以,问题仅仅是如何将你的对象复制到一个便于赋值给数据库对象的变量,以及如何在读取时从这样的标量恢复到对象中。CopyMemory 应该是可以利用的工具。
      

  2.   

    CopyMemory ?
    可否提供相关例子
      

  3.   

    只要实现序列化/反序列化就可以了,序列内容可以是自定义的字符串格式、XML等等,只要自己生成并能够正确解析即可。
    'Class AAA
    Option ExplicitPublic ID As String
    Public Name As StringPublic Function Serialize() As String
        Serialize = ID & "," & Name
    End FunctionPublic Sub Deerialize(ByVal Serialization As String)
        Dim a() As String
        a = Split(Serialization, ",", 2)
        ID = Val(a(0))
        Name = a(1)
    End Sub'Module
    Option ExplicitPublic B As New AAASub Main()
        Dim s As String
        '序列化
        B.ID = 345
        B.Name = "anonymous"
        s = B.Serialize
        Debug.Print s '可以将 s 存入数据库
        
        '反序列化,s 已经从数据库取得
        Set B = New AAA
        B.Deerialize s
        Debug.Print B.ID, B.Name
    End Sub
      

  4.   

    关键的问题在于 在程序中动态创建了某个类的一个实例后,我们将如何得到它极其变量等数据的内存地址?
    然后才能CopyMemory 吧?