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

  • 相关阅读:
    Putty远程登录VMware虚拟机Linux(Ubuntu12.04)
    boost库在工作(39)网络UDP异步服务端之九
    UVA 1401 Remember the Word
    Windbg调试命令详解(1)
    数学之路(3)-机器学习(3)-机器学习算法-余弦相似度(1)
    2012-2013年度总结
    重建二叉树---根据前序和中序遍历结果重建二叉树
    Windbg调试命令详解(2)
    时间操作(JavaScript版)—最简单比較两个时间格式数据的大小
    WO+开放平台:API调用开发手记(话费计费接口2.0)
  • 原文地址:https://www.cnblogs.com/ArRan/p/2880092.html
Copyright © 2020-2023  润新知