2009-04-16 14 views
1

私はメモ欄が空白か奇妙な文字以外のすべてのデータテーブルにFoxProデータベースを取得するためにC#プログラムを書いています。 私はC#.Net 2.0を使用しています。 1月12日付けのJonathan Demarksが投稿したコードを試しました。私はインデックスを取得できましたが、このインデックスを使用してメモファイルからデータを取得する方法はわかりません。.NETを使用してFoxProメモフィールドからデータを抽出するにはどうすればよいですか?

Pleaese help me。

おかげ マドゥ

答えて

0

あなたがFoxPro OLEDB providerを使用してみましたか?データベースがVFP8または9(データベースイベントなど)によって導入された機能を使用していない場合は、ODBCドライバも使用できます。

これらの一般的なフィールドには、文書や画像、テキストメモまたはバイナリメモが含まれていますか?データを抽出するのにどのようなコードを使用していますか?

+0

こんにちはスチュアート、Qより バイナリメモ。 OleDbConnection Conn =新しいOleDbConnection(@ "Provider = VFPOLEDB.1;データソース= C:\ Documents and Settings \ All Users \ Documents \ LSP \ LEVEL2.dbf"); Conn.Open(); Oledbadapter da =新しいOleDbDataAdapter( "Select * From LEVEL2"、Conn); da.fill(ds);私はそれぞれのフィールドを読み込もうとしています –

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#ネイティブ文字列になりました。これで、必要なことを行うことができます。

関連する問題