怎么让图片保存到数据库

海外服务器 (381) 2015-11-11 10:19:33

导读:可能在人们的意识中数据库中存储的全是一些数据之类的东西,其实数据库的功能远不止这些,图片也是可以保存到数据库中的,那么下文就为大家介绍实现将图片保存到数据库中的方法。

/// <summary> 
/// 将照片转换为二进制数组 
/// </summary> 
/// <param name="path"></param> 
/// <returns></returns> 
private byte[] PhotoToArray( string path )
{
FileStream stream = new FileStream( path , FileMode.Open , FileAccess.Read ) ;
byte[] bufferPhoto =new byte[stream.Length] ;
stream.Read( bufferPhoto,0,Convert.ToInt32( stream.Length ) ) ;
stream.Flush();
stream.Close();

return bufferPhoto ;
}

//把二进制的图片插到数据库
private void Save(byte[] image)
{
string sql = "insert into table2(aaa,photo) values(@aaa,@photo)";
SqlParameter[] param=new SqlParameter[2];
param[0] =new SqlParameter("@aaa",SqlDbType.Int);
param[0].Value = 1;
param[1]= new SqlParameter("@photo",SqlDbType.Image);
param[1].Value= image;

SqlConnection conn= new SqlConnection();
conn.ConnectionString = System.Configuration.ConfigurationSettings.AppSettings[0];

SqlCommand commd= new SqlCommand(sql,conn);
commd.Parameters.Add(param[0]);
commd.Parameters.Add(param[1]);

try
{
conn.Open();
commd.ExecuteNonQuery();
MessageBox.Show("把图片成功的插入数据库");
}
catch(Exception ex)
{
throw ex;
}
finally
{
conn.Close();
}
}

上文中主要是以代码的形式展现出,可能不是很容易理解,大家还需要深入其中,并且还要有一定的数据库知识作为基础,希望文中介绍的内容能够对大家有所帮助。

THE END