C#如何向sql server中存取图象?
解决方案 »
- Application.ExitThread() & Application.Exit()
- 后置类不执行问题`~~~~
- xmlreader怎么获得节点的名字,在线等
- 二维数组在控件显示的问题
- 怎么用visual studio创建日志???
- 关于ado.net的问题,控制台两句话都输出了,但表中数据无变化,求解
- 怎么抓取需要用户名密码和验证码的页面内容,验证码能取到?
- WCF,请问下身份验证
- C#写的管理系统能用Excel充当数据库吗?
- 如何让文件超过7天后自动删除?
- C#WinForm客户端如何与远程服务器的数据库通信,详见内文!谢谢各位大侠!!!
- C#中怎么把RGB空间的BMP图象转换成灰度图?或者在C#中有这样的函数吗?
2/在sqlserver中存储图片的路径,用的时候根据路径查找显示图片,这种用的比较多
图片转化为二进制 字节的形式存储到数据库 通过参数传递 strSql="insert into [image](id,imagedata) values(@ID,@ImageData)"
有两种方法
1 存储图片的路径,然后调用
2 将图片转换成二进制存储在sql 的 image类型中
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();
}
}
{
string strImageID = Request.QueryString["id"];
SqlConnection myConnection = new SqlConnection("Data Source=.;Initial Catalog=mxh;User Id=sa;Password=sa;");
SqlCommand myCommand = new SqlCommand("Select PersonImageType, PersonImage from Person Where PersonID="
+ strImageID, myConnection);
try
{
myConnection.Open();
SqlDataReader myDataReader;
myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
if(myDataReader.Read())
{
Response.Clear(); //Response.ContentType = myDataReader["PersonImageType"].ToString();
Response.BinaryWrite((byte[])myDataReader["PersonImage"]);
}
myConnection.Close();
}
catch (SqlException SQLexc)
{
Response.Write(SQLexc.ToString());
}
//Response.End();
}
显示图片的代码,建立一个新的aspx页面,然后显示图片<asp:Image id="Image1" runat="server" ImageUrl="ReadImage.aspx?id=1"></asp:Image>