怎么在datagridview中显示图片 如果用string sql = "select ydy.照片 as 照片 from ydy where 专项='划船'"; 
            OleDbDataAdapter adp = new OleDbDataAdapter(sql, cn); 
            ds.Clear(); 
            adp.Fill(ds, "s"); 
            if (ds.Tables["s"].Rows.Count != 0) 
            { 
                this.dataGridView1.DataSource = ds.Tables[0].DefaultView; 
            }直接读无法显示 根本没办法看到完整的照片(照片在数据库中是二进制流的格式存储的)

解决方案 »

  1.   

            string strImageID = Request.QueryString["id"];
            SqlConnection myConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["databasecon"].ToString());
            SqlCommand myCommand = new SqlCommand("Select *  from   images   Where   id="
              + strImageID, myConnection);        try
            {
                myConnection.Open();
                SqlDataReader myDataReader;
                myDataReader = myCommand.ExecuteReader(CommandBehavior.CloseConnection);
                if (myDataReader.Read())
                {
                    Response.Clear();                Response.ContentType = "image/jpeg";
                    Response.BinaryWrite((byte[])myDataReader["Images"]);
                }
                myConnection.Close();
            }
            catch (SqlException SQLexc)
            {
            }
            Response.End();  
      

  2.   


    建立一个DateGrid ,绑定的dateset中有一个字段是图片的路径,
    比如要显示的图片名称存在img字段中( select '这里写图片相对路径'+img as pic from table  )
    一下的代码替换你建立的dategrid  <Columns>
    <Columns>
    <asp:TemplateColumn>
    <HeaderTemplate>
     <table>
       <tr>
         <td>图片</td>
       </tr>
     <table>
    </HeaderTemplate>
    <ItemTemplate>
    <asp:Image ID="ImgOpen" Runat="server" style="cursor:hand" ImageUrl='"<%# DataBinder.Eval(Container.DataItem,"pic")%>"'></asp:Image>
    </ItemTemplate>
    </asp:TemplateColumn>
    </Columns>
      

  3.   

    建立一个DateGrid ,绑定的dateset中有一个字段是图片的路径, 
    比如要显示的图片名称存在img字段中( select '这里写图片相对路径'+img as pic from table  ) 
    一下的代码替换你建立的dategrid  <Columns> 
    <Columns> 
    <asp:TemplateColumn> 
    <HeaderTemplate> 
    <table> 
      <tr> 
        <td>图片 </td> 
      </tr> 
    <table> 
    </HeaderTemplate> 
    <ItemTemplate> 
    <table> 
      <tr> 
        <td>
             <asp:Image ID="ImgOpen" Runat="server" style="cursor:hand" ImageUrl='" <%# DataBinder.Eval(Container.DataItem,"pic")%>"'> 
    </td> 
      </tr> 
    <table> </asp:Image> 
    </ItemTemplate> 
    </asp:TemplateColumn> 
    </Columns> 
    上面的少了个table,呵呵,笔误