0
我正在用SQLCe數據庫開發一個winform C#應用程序。以相同的格式檢索先前存儲的字節數組c#
當我將圖像上載(和其顯示給圖片框)
它完美 - 字節數組被轉換成圖像,並且在圖片框顯示。
這是我如何更新到數據庫(完美的作品):
string query = "UPDATE Company SET [email protected];";
SqlCeCommand cmd = new SqlCeCommand(query, con);
cmd.Parameters.AddWithValue("Logo", SqlDbType.Image).Value = imageArray;
int affectedRow = cmd.ExecuteNonQuery();
然而,當我從數據庫中檢索此數據:
private void getImageBytes()
{
DataTable dt = new DataTable();
string query = "SELECT LOGO FROM ECompany;";
SqlCeDataAdapter da = new SqlCeDataAdapter(query, con);
da.Fill(dt);
return Encoding.ASCII.GetBytes(dt.Rows[0][0].ToString());
}
//snippet where error occurs:
using (MemoryStream ms = new MemoryStream(imageArray))
{
ms.Write(imageArray, 0, imageArray.Length);
ms.Seek(0, SeekOrigin.Begin);
companyLogoPB.Image = Image.FromStream(ms); //ERROR
}
我得到了一個錯誤:參數無效。我的猜測是返回的字節不是以相同的格式編碼的。任何想法我應該如何檢索存儲的圖像字節[](工作)?
啊我很傻。我試着返回(byte [])dt.Rows [0] [0] .ToString()..它現在工作。感謝更簡單的代碼! –