如何将从数据读取器读取的数据转换为base64字符串并添加到datatable?

时间:2014-08-12 23:34:14

标签: c# datatable

我存储在数据库中的二进制数据(图像数据)。所以基本上我想检索那些数据,将其转换为base 64字符串并将其放入数据表中,因为我将把数据表返回到web服务中。

从数据库中检索数据的代码如下:

public DataTable GetImageDetails(string userName)
{
    DataTable imageTable = new DataTable();
    imageTable.Columns.Add(new DataColumn("img_storage", typeof(String)));


    if (dbConnection.State.ToString() == "Closed")
    {
        dbConnection.Open();
    }

    string query = "SELECT img_storage FROM Image_table WHERE vehicle_no IN( SELECT vehicle_no FROM User_table  WHERE username='" + userName + "')";

    SqlCommand command = new SqlCommand(query, dbConnection);

    SqlDataReader reader = command.ExecuteReader();
    if (reader.HasRows)
    {
        while (reader.Read())
        {
            imageTable.Rows.Add(reader["img_storage"]);
        }
    }

    reader.Close();
    dbConnection.Close();
    return imageTable;
} 

如何通过编辑此代码来转换数据并添加到数据表?请帮帮我!

1 个答案:

答案 0 :(得分:0)

您希望对DataReader返回的数据使用Convert.ToBase64String(byte[])(您需要将其转换为byte[])。

http://msdn.microsoft.com/en-us/library/dhx0d524(v=vs.110).aspx