C#代码在SQL Server中存取图片

 

   首先,  数据库中存放图片的字段必须为Image类型。 

一、图像插入到数据库

以下代码为示意将图片插入到数据库中的操作,图片字段为Material

//从上传控件中得到表示图片的字节流 

Byte[] be = this.FileUpload1.FileBytes;

//执行SQL,插入一条包括图片的记录,图片字段暂不写入数据

string sconn = "Data Source=(local);Initial Catalog=IKartoon_MainBusiness;Persist Security Info=T" +

            "rue;User ID=sa;Password=goodfortune";

        SqlConnection conn = new SqlConnection(sconn);

        SqlCommand comm = new SqlCommand();

        comm.Connection = conn;

        conn.Open();

        string strSQL = "insert into material(id,name,code,categoryID,orderid,operateDate)" +

            "values('{0}','{1}','{2}','{3}','{4}','{5}')";

        string strIn = string.Format(strSQL,

            "7BAB9BBA-487C-4178-BD5B-A08ED28D3380",

            "111",

            "1111",

            "7BAB9BBA-487C-4178-BD5B-A08ED28D33A6",

            1,

            System.DateTime.Now

            );

        comm.CommandText = strIn;

        comm.ExecuteNonQuery();

          //对刚才新增的记录进行修改,将图片加入,建议使用Parameter方式

        string innn = "update material set material=@material where id='7BAB9BBA-487C-4178-BD5B-A08ED28D3380'";

        SqlParameter pa = new SqlParameter("@material", SqlDbType.Image);

        pa.Value = be;

        comm.CommandText = innn;

        comm.Parameters.Add(pa);

        comm.ExecuteNonQuery();

二、图像在页面中显示

            
以下代码为从数据库中将图片取得,图片字段为Material,并且在Image控件中显示,显示是通过ImageUrl来设置,所以得到的图片在文件系统中要存储一下,将图片的URL传递给Image控件.

string sel = "select material from material";

        comm.CommandText = sel;

        SqlDataReader reader= comm.ExecuteReader();

        byte[] resultImage=null;

        while (reader.Read())

        {

            resultImage =(byte[]) reader.GetValue(0);

        }

        string dir=MapPath("TempImage");

        string path=dir+@""imageName.gif";

        File.WriteAllBytes(path,resultImage );

    this.Image1.ImageUrl = "tempImage/abadsc.gif";

转载于:https://www.cnblogs.com/anshangcun/archive/2007/09/27/908171.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值