• 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();
        }
  • 相关阅读:
    良好的三元组(求已排列好的数组中各个元素的排位)
    山理工oj 2556传说中的数据结构
    山理oj 1177 时间间隔
    山理oj1525:字符统计2
    linux常用命令
    多线程并发教程
    合理设置线程数量
    Java多线程处理任务(摘抄)
    解决2013Lost connection to MySQL server during query错误方法
    javaMail邮件发送
  • 原文地址:https://www.cnblogs.com/ewyb/p/1621020.html
Copyright © 2020-2023  润新知