如何使用.NET从FoxPro备注字段中提取数据?

时间:2009-04-16 18:23:54

标签: c# field using foxpro memo

我正在编写一个C#程序,将FoxPro数据库放入数据表中,除了备注字段为空白或一些奇怪的字符外,一切正常。 我正在使用C#.Net 2.0。 我尝试了1月12日Jonathan Demarks发布的代码。我能够获得索引,但我不知道如何使用此索引从备忘录文件中获取数据。

Pleaese帮助我。

由于 马杜

2 个答案:

答案 0 :(得分:1)

我创建了下面的函数,将选区返回的对象转换为字节数组。

private byte[] ObjectToByteArray(Object obj)
{
    if (obj == null)
    {
        return null;
    }

    BinaryFormatter bf = new BinaryFormatter();
    MemoryStream ms = new MemoryStream();
    bf.Serialize(ms, obj);
    return ms.ToArray();
}

然后您就可以显示该值。

byte [] dBytes = ConvertObjectToByteArray(dr["profile"]);
System.Text.ASCIIEncoding enc = new System.Text.ASCIIEncoding();
string str = enc.GetString(dBytes);

您现在拥有C#本机字符串中的值,并可以使用它执行所需的操作。

答案 1 :(得分:0)

您是否尝试过使用FoxPro OLEDB provider?如果数据库不使用VFP8或9引入的功能(特别是数据库事件),您也可以使用ODBC驱动程序。

这些常规字段是包含文档或图像,还是文本备忘录或二进制备忘录?您使用什么代码来提取数据?