c#中byte[]和string的转换

c#中byte[]和string的转换

Using System.Text;
byte[ ] 转换为string
byte[ ] image;
string ll = Encoding.Default.GetString(image);

string 转换为byte[ ]
string ss;
byte[] b = Encoding.Default.GetBytes(ss);
数据库中image类型的字段的处理。
首先我想从数据库中读出图片(以image类型存储的), 并且写入txt文件中:
private void GetImage()
  {
    string conn = "Server=192.168.0.11; User id=user; Pwd=pwd; Database=database";
    SqlConnection sqlCon = new SqlConnection(conn);
    string sql = "SELECT ImageFile, PersonID FROM Persons where PersonID = 1";
    SqlCommand myCommand = new SqlCommand();
    myCommand.Connection = sqlCon;
    myCommand.CommandType = CommandType.Text;
    myCommand.CommandText = sql;
    DataTable myTable = new DataTable();
    SqlDataAdapter myDataAda = new SqlDataAdapter();
    myDataAda.SelectCommand = myCommand;
    try
    {
      sqlCon.Open();
      myDataAda.Fill(myTable);
      sqlCon.Close();
      if(myTable.Rows.Count>0)
      {
        byte[] image = (byte[])myTable.Rows[0]["ImageFile"];
        string ll = Encoding.Default.GetString(image);
        WriteStr(@"F:\test.txt",ll);
      }
    }
    catch(Exception ex)
    {
      string err = ex.Message;
    }
    finally
    {
      sqlCon.Close();
      myCommand.Dispose();
      myDataAda.Dispose();
    }
  }
  private void WriteStr(string strLogFileName, string strLogContent)
  {
    try
    {
      FileInfo objFileInfo = new FileInfo(strLogFileName);
      using (FileStream objFileStream = objFileInfo.OpenWrite())
      {
        using (StreamWriter objStreamWriter = new StreamWriter(objFileStream))
        {
          objStreamWriter.BaseStream.Seek(0, SeekOrigin.End);
          objStreamWriter.Write("{0}", strLogContent);
        }
      }
    }
    catch
    {
    }
  }
其次,需要把图片从txt文件中读出然后存入数据库中。
string ss = ReadStr(@"F:\test.txt");
    byte[] b = Encoding.Default.GetBytes(ss);
    string conn = "Server=server; User id=user; Pwd=pwd; Database=database";
    SqlConnection sqlCon = new SqlConnection(conn);
    string sql = "update Persons set ImageFile=@img where PersonID = 1";
    SqlCommand myCommand = new SqlCommand();
    SqlParameter sp = new SqlParameter("@img",SqlDbType.Image);
    myCommand.Connection = sqlCon;
    myCommand.CommandType = CommandType.Text;
    myCommand.CommandText = sql;
    sp.Value = b;
    myCommand.Parameters.Add(sp);
    try
    {
      sqlCon.Open();
      myCommand.ExecuteNonQuery();
      sqlCon.Close();
    }
    catch(Exception eS)
    {
      string ee = eS.Message;
    }
    finally
    {
      sqlCon.Close();
      myCommand.Dispose();
    }

转载于:https://www.cnblogs.com/vmyspace/archive/2012/03/19/2405550.html

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值