我正在寫一個C#程序來將FoxPro數據庫導入到數據表中,除了備註字段是空白或一些奇怪的字符之外,其他所有工作都可以使用。 我正在使用C#.Net 2.0。 我試過Jonathan Demarks於1月12日發佈的代碼。我能夠獲得索引,但我不知道如何使用此索引從備忘錄文件中獲取數據。如何使用.NET從FoxPro備註字段中提取數據?
Pleaese幫助我。
感謝 馬杜
我正在寫一個C#程序來將FoxPro數據庫導入到數據表中,除了備註字段是空白或一些奇怪的字符之外,其他所有工作都可以使用。 我正在使用C#.Net 2.0。 我試過Jonathan Demarks於1月12日發佈的代碼。我能夠獲得索引,但我不知道如何使用此索引從備忘錄文件中獲取數據。如何使用.NET從FoxPro備註字段中提取數據?
Pleaese幫助我。
感謝 馬杜
您是否嘗試過使用FoxPro OLEDB provider?如果數據庫不使用VFP8或9引入的功能(特別是數據庫事件),則也可以使用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#本機字符串中的值,並且可以執行您想要的操作。
嗨,斯圖爾特,比Q 二進制備忘錄。 OleDbConnection Conn = new OleDbConnection(@「Provider = VFPOLEDB.1; Data Source = C:\ Documents and Settings \ All Users \ Documents \ LSP \ LEVEL2.dbf」); Conn.Open(); Oledbadapter da = new OleDbDataAdapter(「Select * From LEVEL2」,Conn); da.fill(ds);我正在嘗試閱讀每個字段 – 2009-04-16 19:52:30