求把图片存入数据库和从数据库还原的程序
想把图片转化成流写入数据库,并能从数据库读出并重新转换回图片,但重新转换试了N次都失败,不能转换回原来的团片,请大侠指点一下,具体怎样实现,谢谢
------解决方案--------------------把图片存入ACCESS数据库二进制字段 
 OpenFileDialog openfile = new OpenFileDialog(); 
             String FileName =  " "; 
             if (openfile.ShowDialog() == DialogResult.OK) 
             { 
                 FileName = openfile.FileName; 
                 this.pictureBox1.Image = Image.FromFile(FileName);   
                 FileStream objFileStream;                   
                 objFileStream = new FileStream(FileName, FileMode.Open, FileAccess.Read); 
                 byte[] fileData = new byte[objFileStream.Length];   
                 string strConnection = @ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\db1.mdb ";   
                 //把文件流填充到数组 
                 objFileStream.Read(fileData, 0, fileData.Length); 
                 OleDbConnection connection = new OleDbConnection(strConnection); 
                 OleDbCommand cmd = new OleDbCommand( "update My_Main set My_Text= " +  "@Image where My_ID=40 ", connection); 
                 cmd.Parameters.Add(new OleDbParameter( "@Image ", fileData)); 
                 connection.Open(); 
                 cmd.ExecuteNonQuery(); 
                 connection.Close(); 
                 objFileStream.Close(); 
             }     
 从ACCESS数据库二进制字段还原图片   
 string strDSN = @ "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\db1.mdb "; 
             string strSQL =  "select * from My_Main where My_ID = 40 "; 
             OleDbConnection myConn = new OleDbConnection(strDSN); 
             OleDbCommand myCmd = new OleDbCommand(strSQL, myConn); 
             OleDbDataReader datareader = null; 
             try 
             { 
                 myConn.Open(); 
                 datareader = myCmd.ExecuteReader();   
                 if (datareader.Read()) 
                 {                       
                     if (datareader[ "My_Text "] is System.Byte[]) 
                     { 
                         ImageConverter imc = new ImageConverter(); 
                         pictureBox1.image = imc.ConvertFrom(null, System.Globalization.CultureInfo.CurrentCulture, datareader[ "My_Text "]) as Image;                                                      
                     } 
                 } 
             } 
             catch 
             { 
             } 
             finally 
             { 
                 myConn.Close(); 
             } 
------解决方案--------------------//入SQL Server 
 using System; 
 using System.IO; 
 using System.Data; 
 using System.Data.SqlClient;   
 class BLOBDemo 
 { 
 	[STAThread] 
 	static void Main(string[] args) 
 	{ 
 		Add( "Test ", "2.jpg "); 
 	}   
 	public static void Add(string categoryName, string filePath) 
 	{ 
 //		byte [] photo = GetPhoto(filePath);   
 		FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read); 
 		BinaryReader br = new BinaryReader(fs);   
 		byte [] photo = br.ReadBytes((int)fs.Length);   
 		br.Close(); 
 		fs.Close();   
 		SqlConnection cn = new SqlConnection( "Data Source = (local);Integrated Security = SSPI;Initial Catalog=Northwind "); 
 		SqlCommand cmd = new SqlCommand( "INSERT INTO Categories(CategoryName, Picture) VALUES (@CategoryName, @Picture) ", cn);   
 		cmd.Parameters.Add( "@CategoryName ",