将SQL varbinary转换为image和接收参数无效

时间:2012-10-30 17:53:56

标签: c#

我正在尝试从SQL中提取数据并将其显示在Windows窗体的图片框中。

代码:

// Use the customer number to obtain image from the DBFile table
Query.CommandText = "SELECT * FROM DBFile " +
    "WHERE " +
    "FileName = @FileName";

// Fill in the parameters
Query.Parameters.AddWithValue("@FileName", customerNumber + ".jpg");

// Build the DBFile data table
da = new SqlDataAdapter(Query);
cb = new SqlCommandBuilder(da);
da.Fill(DBFile);

// Dispose of SQL data
da.Dispose();
cb.Dispose();
Query.Dispose();

try
{
    byte[] bImage = new byte[0];
    bImage = (byte[])DBFile.Rows[0]["Data"];
    MemoryStream ms = new MemoryStream(bImage);
    pbLicense.Image = Image.FromStream(ms); // Error is thrown here
}
catch (Exception ex)
{
    MessageBox.Show(ex.Message);
}

我的问题是,这是不仅获得所需数据而且将其转换为所需结果的正确方法,如果是这样,我缺少什么?我已经查看了许多教程和指南,但在我尝试的方面似乎都相似。

0 个答案:

没有答案