C# SQLserver數據庫圖片存取
#region 數據庫圖片存取
///
/// 導入圖片到數據庫
///
///
public void Import(string filePath)
{
string fileName = filePath.Substring(filePath.LastIndexOf(@)+1, filePath.LastIndexOf(.)-filePath.LastIndexOf(@)-1);
FileStream fileStream = new FileStream(filePath, FileMode.Open);
byte[] imageBytes = new byte[fileStream.Length];
BinaryReader binaryReader = new BinaryReader(fileStream);
imageBytes = binaryReader.ReadBytes(Convert.ToInt32(fileStream.Length));
SqlConnection sqlConnection = new SqlConnection(@data source=PANLEE-PCMSSQLSERVER_2;initial catalog=DBImage;integrated security=true);
sqlConnection.Open();
SqlCommand sqlCommand=new SqlCommand();
sqlCommand.Connection = sqlConnection;
try
{
string sqlCreate = @Create Table Portraits(
學號 varchar(50),
照片 image,
);
sqlCommand.CommandText = sqlCreate;
sqlCommand.ExecuteNonQuery();
}
catch { }
sqlCommand.CommandText= insert into Portraits (學號, 照片) values(@ID,@Image);
sqlCommand.Parameters.Add(Image, SqlDbType.Image);
sqlCommand.Parameters.Add(ID, SqlDbType.VarChar);
sqlCommand.Parameters[ID].Value = fileName;
sqlCommand.Parameters[Image].Value = imageBytes;
sqlCommand.ExecuteNonQuery();
sqlConnection.Close();
}
///
///導出圖片
///
///
/// bitmap
public Bitmap Export(string SID)
{
byte[] imagebytes = null;
SqlConnection sqlConnection = new SqlConnection(@data source=PANLEE-PCMSSQLSERVER_2;initial catalog=DBImage;integrated security=true);
sqlConnection.Open();
SqlCommand sqlCommand = new SqlCommand(select 照片 from Portraits where 學號=@ID, sqlConnection);
sqlCommand.Parameters.Add(ID, SqlDbType.VarChar);
sqlCommand.Parameters[ID].Value = SID;
SqlDataReader sqlDataReader = sqlCommand.ExecuteReader();
while (sqlDataReader.Read())
{
imagebytes = (byte[])sqlDataReader.GetValue(0);
}
sqlDataReader.Close();
sqlCommand.Clone();
sqlConnection.Close();
MemoryStream ms = new MemoryStream(imagebytes);
Bitmap bitmap = new Bitmap(ms);
return bitmap;
}
#endregion