0

アクセスデータベースに接続されたac#アプリケーションがあり、openfiledialogを使用して画像を見つけ、これに関する詳細を表示しています。これをデータベースに保存したいと思います。しかし、これをやろうとすると、大きすぎるというエラーが表示されます。それで、これを回避する方法は何ですか?ファイル パスを保存して、後でメイン ウィンドウで表示できるようにします。

 private void button2_Click(object sender, EventArgs e)
    {
        DataRow drNewRow = m_dtMedia.NewRow();
        drNewRow["File_Path"] = textBox1.Text;
        drNewRow["Subject"] = textBox2.Text;
        drNewRow["Title"] = textBox3.Text;
        drNewRow["Keyword_Search"] = textBox4.Text;
        drNewRow["MediaType"] = textBox5.Text;
        m_dtMedia.Rows.Add(drNewRow);

        m_daDataAdapter.Update(m_dtMedia);
        m_rowPosition = m_dtMedia.Rows.Count - 1;
        this.ShowCurrentRecord();
        this.Close(); 

これは、文字だけで入力しようとしたときに機能し、データベースを保存および更新しますが、画像を保存することはできません。

エラーメッセージ

OLeDb 例外が支持されました

フィールドが小さすぎて、追加しようとしたデータの量を受け入れることができません。挿入または貼り付けするデータの数を減らしてください。

4

1 に答える 1

2

Microsoft AccessへのBLOBのアップロードとダウンロードここでは、Accessデータベースにイメージを保存する方法について説明します。

Microsoft Accessは、BLOBデータをOL​​Eオブジェクトデータ型のフィールドに格納します。SQLステートメントからテーブルを作成する場合、データ型はIMAGE(SQL Serverと同様)です。

例えば

CREATE TABLE File (
     FileName VARCHAR(255),
     Size INT,
     Type VARCHAR(255),
     DateUploaded DATETIME,
     File IMAGE,
     CONSTRAINT File_PK PRIMARY KEY(FileName)
)
于 2012-05-09T18:55:58.303 に答える