读取内存流

时间:2013-10-03 08:40:26

标签: vb.net serialization memorystream

我使用7变量序列化类,这些变量被写入内存流然后插入到数据库字段中。 7变量都是四个字节,在写入数据库之前可能有数百个记录组合在一起。这很有效。

然而,当我从数据库中获取数据并对其进行反序列化时:

    rdr = cmd.ExecuteReader
    While rdr.Read()
        arr = rdr("BINPROFILE")
        ms.Write(arr, 0, arr.Length)
        ms.Position = 0
        SER = bf.Deserialize(ms)
    End While

我的变量'SER',它包含7个变量的类的实现,只读取前7个变量。

如何遍历整个内存流并读取它包含的所有数据?

1 个答案:

答案 0 :(得分:0)

SER会在循环的每次迭代中被覆盖,只留下最后一条记录的值。您需要将它们保存在数组或列表中,或者在循环中使用它们。

SER = bf.Deserialize(ms)

这一行将用一个新值替换SER变量中的任何内容,在你的例子中是7个变量。