zoukankan      html  css  js  c++  java
  • 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();
        }
  • 相关阅读:
    reids学习redis的五种基本数据类型
    CentOS下配置Java开发环境安装redis
    CentOS下配置Java开发环境安装Tomcat
    如何去除掉inlineblock元素之间的默认间距
    js按值传递还是按引用传递?
    overflow: hidden用法,不仅仅是隐藏溢出
    关于WinForm中的DataGridView控件显示数据字典的解决方案。
    C#中对Winform中的DataGridView的控制技巧。(单独控制某单元格的按钮不显示、某单元格的ReadOnly)
    改进版网页表格的合并单元格(支持不连续的列合并)
    [共享]MT随机算法(符合正态分布的随机算法)
  • 原文地址:https://www.cnblogs.com/ewyb/p/1621020.html
Copyright © 2011-2022 走看看