C#画像をSql serverに保存
8972 ワード
private void Form1_Load(object sender, EventArgs e)
{
#region
string url = @"C:\Users\Administrator\Desktop\tiger.jpg";
byte[] dd = GetPictureData(url);
kkkkk(dd);//
#endregion
Read();// C
}
///
///
///
///
private void kkkkk(byte[] imgBytesIn)
{
try
{
SqlConnection con = new SqlConnection("server=192.168.1.118,1433;uid=sa;pwd=123456;database=aa");
con.Open();
SqlCommand cmd = new SqlCommand("insert into aaaa (img) values( @Image ) ;", con);
cmd.Parameters.Add("@Image", SqlDbType.Image);
cmd.Parameters["@Image"].Value = imgBytesIn;
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show(" ");
}
catch
{
MessageBox.Show(" !", " ", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
}
///
/// C
///
public void Read()
{
byte[] MyData = new byte[0];
using (SqlConnection conn = new SqlConnection("server=192.168.1.118,1433;uid=sa;pwd=123456;database=aa"))
{
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = "select * from aaaa";
SqlDataReader sdr = cmd.ExecuteReader();
sdr.Read();
object o = sdr["img"];
MyData = (byte[])sdr["img"];//
int ArraySize= MyData.GetUpperBound(0);// ,
FileStream fs = new FileStream(@"c:\00.jpg", FileMode.OpenOrCreate, FileAccess.Write);
fs.Write(MyData, 0, ArraySize);
fs.Close(); //-- c:\00.jpg。
conn.Close();
Console.WriteLine(" ");//
}
}
///
/// byte[]
///
///
///
public byte[] GetPictureData(string imagepath)
{
/**/
//// , byte[]
FileStream fs = new FileStream(imagepath, FileMode.Open);//
byte[] byData = new byte[fs.Length];
fs.Read(byData, 0, byData.Length);
fs.Close();
return byData;
}