C# 从ASP.net数据库检索图像

C# 从ASP.net数据库检索图像,c#,asp.net,sql-server,C#,Asp.net,Sql Server,我一直在使用AdventureWorks数据库进行一个项目。它自己的网站几乎是完整的,除了一个问题,那就是如何处理SQL数据库中的varbinary图像。我有一个从数据库返回产品的数据访问类和一个获取/设置值的product.cs类。我看过关于阅读数据的教程,但我想在product.cs类中阅读图像,但不知道如何正确地阅读。我从来没有从MSSQL数据库中检索过图像,所以我在这方面的知识还不够完善 这里是productDB访问类 [DataObject] public class ProductD

我一直在使用AdventureWorks数据库进行一个项目。它自己的网站几乎是完整的,除了一个问题,那就是如何处理SQL数据库中的varbinary图像。我有一个从数据库返回产品的数据访问类和一个获取/设置值的product.cs类。我看过关于阅读数据的教程,但我想在product.cs类中阅读图像,但不知道如何正确地阅读。我从来没有从MSSQL数据库中检索过图像,所以我在这方面的知识还不够完善

这里是productDB访问类

[DataObject]
public class ProductDB
{
    [DataObjectMethod(DataObjectMethodType.Select)]
    public static List<Product> GetProducts()
    {
        List<Product> productList = new List<Product>();
        SqlConnection con = new SqlConnection(GetConnectionString());
        string sel = "Select statement goes here"
        SqlCommand cmd = new SqlCommand(sel, con);
        con.Open();
        SqlDataReader rdr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
        Product product;
        while (rdr.Read())
        {
            product = new Product();
            product.ProductID = rdr["ProductID"].ToString();
            product.Name = rdr["Name"].ToString();
            product.ProductNumber = rdr["ProductNumber"].ToString();
            product.ListPrice = Convert.ToInt32(rdr["ListPrice"]);
            product.ProductDescriptionID = Convert.ToInt32(rdr["ProductDescriptionID"]);
            product.ProductModelID = Convert.ToInt32(rdr["ProductModelID"]);
            product.Description = rdr["Description"].ToString();

            productList.Add(product);
        }
        rdr.Close();
        return productList;
    }

    private static string GetConnectionString()
    {
        return ConfigurationManager.ConnectionStrings[
                "AdventureWorks"].ConnectionString;
    }
}

如果您已经阅读了这么多教程,为什么不尝试在代码中实现其中一个呢?您的具体问题是什么?从SQL数据库读取图像不是问题,我只想有一些类似于公共字符串ProductID{get;set;}的东西,但对于图像。问题是,我不知道图像是否可以像其他值一样传递给类。你可以使用
Image
class:
public Image Preview{get;set;}
或将其作为
byte[]
传递,并仅在必要时转换为
Image
。谢谢,这可能是我一直在搜索的内容。
public class Product
{
    public Product()
    {

    }

    public string ProductID { get; set; }
    public string Name { get; set; }
    public string ProductNumber { get; set; }
    public int ListPrice { get; set; }
    public int Weight { get; set; }
    public int Size { get; set; }
    public int ProductDescriptionID { get; set; }
    public int ProductModelID { get; set; }
    public string Description { get; set; }
}