(高分求助:)c#.net中,怎么实现将图片保存到数据库中? c#.net中,怎么实现将图片保存到数据库中?用picturebox控件,双击后把图片保存到数据库中,然后再显示!! 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 http://www.cnblogs.com/jhtchina/articles/178129.html /// <summary> /// File -> DB /// </summary> /// <param name="file"></param> /// <returns></returns> public static bool File2DB(string file) { try { // 文件名 -> byte[] FileStream fs = new FileStream(file, FileMode.Open, FileAccess.Read); byte[] data = new byte[fs.Length]; fs.Read(data, 0, (int)fs.Length); fs.Close(); SqlConnection db = new SqlConnection(strConn); string strSQL = "INSERT INTO t_FileBase (FileData,....) values (@data....)"; SqlCommand cmd = new SqlCommand(strSQL, db); cmd.Parameters.Add("@data", SqlDbType.Image, data.Length); cmd.Parameters["@data"].Value = data; db.Open(); cmd.ExecuteNonQuery(); // 释放资源 .... return true; } catch(SqlException sqlex) { //Prompt(sqlex.Message); return false; } } try { System.IO.MemoryStream stream=new System.IO.MemoryStream(); this.pictureBox1.Image.Save(stream,this.pictureBox1.Image.RawFormat); stream.Seek(0,System.IO.SeekOrigin.Begin); byte[] by=new byte[stream.Length]; stream.Read(by,0,by.Length); SqlConnection con=new SqlConnection("workstation id=TOM;packet size=4096;integrated security=SSPI;initial catalog=test;persist security info=False"); con.Open(); SqlCommand cmd=new SqlCommand("insertpic",con); cmd.CommandType=CommandType.StoredProcedure; SqlParameter spa=new SqlParameter("@image",SqlDbType.Image); cmd.Parameters.Add(spa); cmd.Parameters["@image"].Value=by; cmd.ExecuteNonQuery(); con.Close(); MessageBox.Show("success"); } catch(Exception ex) { MessageBox.Show(ex.ToString()); } CREATE PROCEDURE insertpic @image image AS insert into picture(pic) values (@image)GO 显示 SqlConnection con=new SqlConnection("workstation id=TOM;packet size=4096;integrated security=SSPI;initial catalog=test;persist security info=False"); con.Open(); string id=this.textBox1.Text.Trim(); SqlCommand cmd=new SqlCommand("readpic",con); cmd.CommandType=CommandType.StoredProcedure; cmd.Parameters.Add("@id",SqlDbType.Int); cmd.Parameters["@id"].Value=Convert.ToInt32(this.textBox1.Text.Trim()); SqlDataReader reader=cmd.ExecuteReader(); if (reader.Read()) { System.IO.MemoryStream ms=new System.IO.MemoryStream((byte[])reader["pic"]); this.pictureBox2.Image=Image.FromStream(ms,false); this.pictureBox2.SizeMode=PictureBoxSizeMode.StretchImage; } reader.Close(); con.Close(); CREATE PROCEDURE readpic @id int AS select * from picture where id=@idGO 请问这是哪种加密算法 用户控件为什么看不到 一个简单的连库问题 c# 线程 【我就这点分了——帮小菜鸟飞一下吧】我想应该是theCommand_.ExecuteNonQuery();怎么关闭的问题! webmethod中参数传递不过来,检测时为空 如何实现图片缩放功能??? 关于Issuevision的问题 怎样将数据定时自动导入EXCEL 100分求:五年开发经验+一个系分证在上海能拿多少,跟有分 有个代码生成器就能当项目经理了? 外接程序问题!
/// File -> DB
/// </summary>
/// <param name="file"></param>
/// <returns></returns>
public static bool File2DB(string file)
{
try
{ // 文件名 -> byte[]
FileStream fs = new FileStream(file, FileMode.Open, FileAccess.Read);
byte[] data = new byte[fs.Length];
fs.Read(data, 0, (int)fs.Length); fs.Close(); SqlConnection db = new SqlConnection(strConn); string strSQL = "INSERT INTO t_FileBase (FileData,....) values (@data....)";
SqlCommand cmd = new SqlCommand(strSQL, db);
cmd.Parameters.Add("@data", SqlDbType.Image, data.Length);
cmd.Parameters["@data"].Value = data; db.Open();
cmd.ExecuteNonQuery();
// 释放资源
....
return true;
}
catch(SqlException sqlex)
{
//Prompt(sqlex.Message);
return false;
}
}
{
System.IO.MemoryStream stream=new System.IO.MemoryStream();
this.pictureBox1.Image.Save(stream,this.pictureBox1.Image.RawFormat);
stream.Seek(0,System.IO.SeekOrigin.Begin);
byte[] by=new byte[stream.Length];
stream.Read(by,0,by.Length); SqlConnection con=new SqlConnection("workstation id=TOM;packet size=4096;integrated security=SSPI;initial catalog=test;persist security info=False");
con.Open();
SqlCommand cmd=new SqlCommand("insertpic",con);
cmd.CommandType=CommandType.StoredProcedure; SqlParameter spa=new SqlParameter("@image",SqlDbType.Image);
cmd.Parameters.Add(spa);
cmd.Parameters["@image"].Value=by;
cmd.ExecuteNonQuery();
con.Close();
MessageBox.Show("success"); }
catch(Exception ex)
{
MessageBox.Show(ex.ToString());
}
@image image
AS
insert into picture(pic) values (@image)
GO
con.Open();
string id=this.textBox1.Text.Trim();
SqlCommand cmd=new SqlCommand("readpic",con);
cmd.CommandType=CommandType.StoredProcedure;
cmd.Parameters.Add("@id",SqlDbType.Int);
cmd.Parameters["@id"].Value=Convert.ToInt32(this.textBox1.Text.Trim());
SqlDataReader reader=cmd.ExecuteReader();
if (reader.Read())
{
System.IO.MemoryStream ms=new System.IO.MemoryStream((byte[])reader["pic"]);
this.pictureBox2.Image=Image.FromStream(ms,false);
this.pictureBox2.SizeMode=PictureBoxSizeMode.StretchImage; }
reader.Close();
con.Close();
@id int
AS
select * from picture where id=@id
GO