【问题标题】:How to Send bytes array in dataset and read from it如何在数据集中发送字节数组并从中读取
【发布时间】:2014-06-10 06:31:32
【问题描述】:

我想发送数据集中的字节,并且我有一列数据类型为 varbinary(MAX)。当我尝试发送一个字节数组时,它不是在数据集中显示一个字节数组,而是显示以下数据。我不知道它是纯字节数组还是显示字节。我在想“ProjectIcons”列应该返回的值是 {bytes[1305]}....

1)如果是字节,那么我如何从数据集中读取字节。

请让我知道我错在哪里。我正在使用以下代码:

public DataSet GetAllProjectStandardIcons2()
    {
        var images = (from p in dbModel.tbl_STANDARDPROJECTICONS select new ProjectDetails1 
        {   
            id = p.id,
            ProjectIcons = (Byte[])(p.ProjectIcons)
        }).ToList();

        DataTable dt = new DataTable();
        if (images.Count > 0)
            {
                Byte[] ProjectIcons;
                DataColumn dc = new DataColumn("id");
                DataColumn dc1 = new DataColumn("ProjectIcons");
                dt.Columns.Add(dc);
                dt.Columns.Add(dc1);
                for (var i = 0; i < images.Count(); i++)
            {

                DataRow row = dt.NewRow();
                row["id"] = images[i].id;
                ProjectIcons = (Byte[])images[i].ProjectIcons;
                row["ProjectIcons"] = ProjectIcons;
                dt.Rows.Add(row);
            }
        }
        DataSet ds = new DataSet();
        ds.Tables.Add(dt);
        return ds;
    }

【问题讨论】:

    标签: c# asp.net dataset bytearray


    【解决方案1】:

    请尝试以Base64格式保存图像并以相同格式检索,然后尝试将其转换为字节...尝试以下代码

    for (var i = 0; i < images.Count(); i++)
                    {
    
                        DataRow row = dt.NewRow();
                        row["id"] = images[i].id;
                        row["ProjectIcons"] = Convert.ToBase64String(images[i].ProjectIcons);//convert here byte array to base64
                        dt.Rows.Add(row);
                    }
    

    【讨论】:

      【解决方案2】:

      我找到了解决方案需要将 bytearray 转换为 base64 数组下面是对我有用的代码

      public DataSet GetAllProjectStandardIcons2()
              {
                  var images = (from p in dbModel.tbl_STANDARDPROJECTICONS
                                select new ProjectDetails1
                                {
                                    id = p.id,
                                    ProjectIcons = (Byte[])(p.ProjectIcons)
      
                                }).ToList();
      
      
                  DataTable dt = new DataTable();
                  if (images.Count > 0)
                  {
                      Byte[] ProjectIcons;
                      DataColumn dc = new DataColumn("id");
                      DataColumn dc1 = new DataColumn("ProjectIcons");
                      dt.Columns.Add(dc);
                      dt.Columns.Add(dc1);
                      for (var i = 0; i < images.Count(); i++)
                      {
      
                          DataRow row = dt.NewRow();
                          row["id"] = images[i].id;
                          row["ProjectIcons"] = Convert.ToBase64String(images[i].ProjectIcons);//convert here byte array to base64
                          dt.Rows.Add(row);
                      }
                  }
                  DataSet ds = new DataSet();
                  ds.Tables.Add(dt);
                  return ds;
      
              }
      

      【讨论】:

        猜你喜欢
        • 2014-05-10
        • 1970-01-01
        • 1970-01-01
        • 2014-06-13
        • 2015-06-04
        • 1970-01-01
        • 2020-04-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多