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();
        }

  • 相关阅读:
    再谈TextField
    IOS-TextField知多少
    leftBarButtonItems
    LeftBarButtonItems,定制导航栏返回按钮
    Apple Mach-O Linker (id) Error "_OBJC_CLASS...错误解决办法 Apple Mach-O Linker (id) Error "_OBJC_CLASS...错误解决办法
    Unrecognized Selector Sent to Instance问题之诱敌深入关门打狗解决办法
    UNRECOGNIZED SELECTOR SENT TO INSTANCE 问题快速定位的方法
    Present ViewController,模态详解
    UILABEL AUTOLAYOUT自动换行 版本区别
    iOS自动布局解决警告Automatic Preferred Max Layout Width is not available on iOS versions prior to 8.0
  • 原文地址:https://www.cnblogs.com/ArRan/p/2880092.html
Copyright © 2011-2022 走看看