您的位置:首页 > 数据库

C# 在SQLSERVER数据库中存取图片

2007-10-20 15:51 316 查看
//放入数据库
if(this.openFileDialog1.ShowDialog()==DialogResult.OK)
{
this.pictureBox1.Image = Image.FromFile(openFileDialog1.FileName);
SqlConnection conn = new SqlConnection("server=(local);uid=sa;pwd=sa;database=ac");
conn.Open();
SqlCommand cmd = new SqlCommand("insert into xia (names) values (@i)", conn);
byte[] ib = new Byte[6000000];
FileStream fs = new FileStream(openFileDialog1.FileName, FileMode.Open, FileAccess.Read);
fs.Read(ib, 0, 6000000);
cmd.Parameters.Add("@i", SqlDbType.Image, (int)fs.Length);
cmd.Parameters["@i"].Value = ib; cmd.ExecuteNonQuery();
conn.Close();
}

//从数据库中读取
try
{
System.Data.SqlClient.SqlConnection conn = new SqlConnection(connstring);
conn.Open();
string sql = "select ImageNum from image where ImageName=@name";
SqlCommand comm = new SqlCommand(sql, conn);
string strname = listBox1.SelectedItem.ToString();
comm.Parameters.Add("@name", SqlDbType.NVarChar).Value = strname;
System.Data.SqlClient.SqlDataAdapter adapter = new SqlDataAdapter();
adapter.SelectCommand = comm;
System.Data.DataSet dataset = new DataSet();

adapter.SelectCommand.ExecuteNonQuery();
adapter.Fill(dataset, "image");
byte[] b = (byte[])dataset.Tables[0].Rows[0]["ImageNum"];
if (b.Length > 0)
{
MemoryStream stream = new MemoryStream(b, true);
stream.Write(b, 0, b.Length);
System.Drawing.Bitmap bitmap = new Bitmap(stream);
imageshow.Image = bitmap;

imageshow.Left = 700;
imageshow.Width = 300;
imageshow.Height = 300;
stream.Close();
}
conn.Close();
}
catch (Exception)
{
MessageBox.Show("你可能没选择图片,请选择");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: