2012-03-26 10 views
0

私は.jpg画像をビットマップサムネイルに変換しました。私が今しようとしているのは、そのサムネイルをMS Access用のBLOBに変換することです。私は最近、私のコードはずさんかもしれので、コンピュータプログラミングを学び始めたが、している私のコードは今ある:サムネイルをMS Access用のBLOBに変換する

foreach (String files in Directory.GetFiles(dig.SelectedPath)) 
{ 
if (files.EndsWith(".JPG")) 
{ 
    //convert .jpg to thumbnail 
    Image image = new Bitmap(files); 
    Image pThumbnail = image.GetThumbnailImage(100, 100, null, new IntPtr()); 

    //need code entered here to convert pThumbnail into a byte to be able to convert 
    //the thumbnail into blob 

    //To insert thumbnail into access if I can convert into blob 
    string cmdstr = "INSERT into IMGSTR(Path, Images) values(?, ?)"; 
    OleDbCommand com = new OleDbCommand(cmdstr, vcon); 
    com.Parameters.AddWithValue("?", files); 
    com.Parameters.AddWithValue("?", pThumbnail); 
    com.ExecuteNonQuery(); 

    image.Dispose(); 
    } 
} 
+0

をしてくださいあなたのタイトルに "C#Visual Express"などのプレフィックスを付けないでください。それがタグのためのものです。 –

答えて

0

この交換してみてください。これにより

com.Parameters.AddWithValue("?", pThumbnail); 

using (var ms = new MemoryStream()) 
{ 
    pThumbnail.Save(ms, pThumbnail.RawFormat); 

    com.Parameters.AddWithValue("?", ms.ToArray()) 
} 
+0

あなたのコードに置き換えると、「値はnullにはなりません」と表示されます。エラー。私はあなたのコードの作業を続け、私ができることを見ていきます。応答をありがとう –

+0

パラメータの名前を指定し、com.Parameters.Add( "?")を試すこともできます。Value = ms.ToArray(); – SimpleVar

関連する問題