二进制数据(Image类型)从一个表存入另一个表

有一个Temp1表,其中一列Pic为Image类型,想把这个列中的数据存入另一个表中Temp2中的Pic类型。该怎么做呢?代码如下:

SqlConnection myconn = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConnectionString"].ConnectionString);
        myconn.Open();
        SqlCommand mycmd= new SqlCommand();
        mycmd.Connection = myconn;
        mycmd.CommandText = "select Pic from Temp1 where ID=1" ;
        SqlDataReader mydr= mycmd.ExecuteReader();
        if(mydr.Read())
        {
            byte[] buffer = new Byte[10240];
            long datalen = mydr.GetBytes(0, 0, null, 0, 0);//0相当于mydr["Pic"]
            long curPos = 0;
            long readsize = 0;
            readsize = mydr.GetBytes(0, curPos, buffer, 0, 10240);
            while (readsize == 10240)
            {
                curPos += readsize;
                readsize = mydr.GetBytes(0, curPos, buffer, 0, 10240);
            }
            byte[] rBuf = new Byte[curPos + readsize];
            mydr.GetBytes(0, 0, rBuf, 0, (int)(curPos + readsize));

         }

         mydr.Close();

         mycmd.CommandText = "INSERT INTO Temp2 (Pic)  VALUES(@FileContent)";
         mycmd.Parameters.Add("@FileContent", System.Data.SqlDbType.Image).Value = rBuf;
         myconn.Close();

转载于:https://www.cnblogs.com/nextsoft/articles/1270431.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值