- PR -

データベースにデータをそのまま保存する方法

1
投稿者投稿内容
RON
会議室デビュー日: 2008/10/16
投稿数: 2
投稿日時: 2008-10-16 09:55
はじめまして。

現在、ASP.NETにてサイトを作成中です。
Accessのデータベースを使い、データの管理を行おうと考えております。
Accessのデータベースに、データ(***.zip)をそのまま保存することはできるのでしょうか?
また、もし保存できる場合、それをASP.NETのGridViewに表示させ、GridView内のボタンを押下することでダウンロードしたいのですが、どうすればよいのでしょうか?

Microsoft Visual Studio 2008を使用しております。
言語は、C#を使用しています。

すみませんが、ご教授お願い致します。
足りない情報があれば、すぐにご返答いたします。
よろしくお願い致します。
以上です。

RON
会議室デビュー日: 2008/10/16
投稿数: 2
投稿日時: 2008-10-17 16:48
画像データをデータベースへ保存する方法で、以下部分までできたのですが、
cmd.ExecuteNonQuery();部分でSQL文が不正だというエラーが発生します。
参考になるページでも良いので、教えていただけると助かります。
すみませんが、どなたかご教授よろしくお願い致します。

AccessのデータベースにTableという名前のテーブルを作成し、Imageという名前のカラム(OLEオブジェクト型)をひとつだけ用意しております。

System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection();
conn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="+ MapPath("~/App_Data/LibraryDB.mdb");
conn.Open();

System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand();
cmd.Connection = conn;

cmd.CommandText = "INSERT INTO Table(Image) VALUES(@Image)";
Byte[] arrImage = new Byte[this.FileUpload1.PostedFile.ContentLength];
this.FileUpload1.PostedFile.InputStream.Read(arrImage, 0, this.FileUpload1.PostedFile.ContentLength);
cmd.Parameters.Add("@Image", System.Data.OleDb.OleDbType.LongVarBinary).Value = arrImage;
cmd.ExecuteNonQuery();

cmd.Dispose();
conn.Close();
conn.Dispose();
1

スキルアップ/キャリアアップ(JOB@IT)