| 如何将blob数据存入或取出数据库?用.net之后,就显得很方便,和很直接 ... byte[] content = ReadBitmap2ByteArray(fileName); StoreBlob2DataBase(content); ... protected static byte[] ReadBitmap2ByteArray(string fileName) { using(Bitmap image = new Bitmap(fileName)) { MemoryStream stream = new MemoryStream(); image.Save(stream, System.Drawing.Imaging.ImageFormat.Bmp); return stream.ToArray(); } } protected static void StoreBlob2DataBase(byte[] content) { SqlConnection con = Connection; con.Open(); try { // insert new entry into table SqlCommand insert = new SqlCommand( "insert into Images ([stream]) values (@image)",con); SqlParameter imageParameter = insert.Parameters.Add("@image", SqlDbType.Binary); imageParameter.Value = content; imageParameter.Size = content.Length; insert.ExecuteNonQuery(); } finally { con.Close(); } } ------------------------------------------------------------------------------- protected static void StoreBlob2DataBaseOleDb(byte[] content) { try { using(OleDbConnection con = Connection) { con.Open(); // insert new entry into table using(OleDbCommand insert = new OleDbCommand( "insert into Images ([stream]) values (?)",con)) { OleDbParameter imageParameter = insert.Parameters.Add("@image", OleDbType.Binary); imageParameter.Value = content; imageParameter.Size = content.Length; insert.ExecuteNonQuery(); } } } catch(Exception ex) { // some exception processing } } ----------------------------------------------------------------------------- // get image DataRowView drv = (DataRowView) _cm.Current; byte[] content = (byte[])drv["stream"]; MemoryStream stream = new MemoryStream(content); Bitmap image = new Bitmap(stream); ShowImageForm f = new ShowImageForm(); f._viewer.Image = image; f.ShowDialog(this); |