C# 如何使用.NET从FoxPro备忘录字段提取数据?

C# 如何使用.NET从FoxPro备忘录字段提取数据?,c#,field,using,foxpro,memo,C#,Field,Using,Foxpro,Memo,我正在编写一个C程序,将FoxPro数据库放入数据表中,除了备注字段为空或一些奇怪的字符外,其他一切都正常。 我正在使用C.NET2.0。 我试过乔纳森·德马克在1月12日发布的代码。我能够获得索引,但我不知道如何使用此索引从备忘录文件中获取数据 请帮帮我 谢谢 Madhu你试过使用?如果数据库不使用VFP8或VFP9引入的特性,尤其是数据库事件,那么您也可以使用ODBC驱动程序 这些通用字段是否包含文档或图像、文本备忘录或二进制备忘录?您使用什么代码提取数据?您是否尝试过使用?如果数据库不使用

我正在编写一个C程序,将FoxPro数据库放入数据表中,除了备注字段为空或一些奇怪的字符外,其他一切都正常。 我正在使用C.NET2.0。 我试过乔纳森·德马克在1月12日发布的代码。我能够获得索引,但我不知道如何使用此索引从备忘录文件中获取数据

请帮帮我

谢谢 Madhu

你试过使用?如果数据库不使用VFP8或VFP9引入的特性,尤其是数据库事件,那么您也可以使用ODBC驱动程序

这些通用字段是否包含文档或图像、文本备忘录或二进制备忘录?您使用什么代码提取数据?

您是否尝试过使用?如果数据库不使用VFP8或VFP9引入的特性,尤其是数据库事件,那么您也可以使用ODBC驱动程序


这些通用字段是否包含文档或图像、文本备忘录或二进制备忘录?您使用什么代码提取数据?

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

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本机字符串形式存在,并且可以使用它执行任何操作。

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

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本机字符串形式存在,并且可以使用它执行任何操作。

您好,斯图尔特,thanQ Binary Memos。OLEDB连接连接=新建OleDbConnection@Provider=VFPOLEDB.1;数据源=C:\Documents and Settings\All Users\Documents\LSP\LEVEL2.dbf;康涅狄格开放大学;Oledbadapter da=新OLEDB数据适配器从2级连接中选择*;da.fillds;我试着去读每一个fieldHi Stuart,thanQ的二进制备忘录。OLEDB连接连接=新建OleDbConnection@Provider=VFPOLEDB.1;数据源=C:\Documents and Settings\All Users\Documents\LSP\LEVEL2.dbf;康涅狄格开放大学;Oledbadapter da=新OLEDB数据适配器从2级连接中选择*;da.fillds;我试着读每一个字段