2011-07-08 76 views
0

我有一個是通過一個數據源從後面的代碼填充網格視圖中隱藏碼的列轉換成圖像柱:如何通過

protected void Page_Load(object sender, EventArgs e) 
{ 
    // filling the grid view 
    MainGrid.DataSource = Update(); 
    MainGrid.DataBind(); 

} 

protected DataSet Update() 
{ 
    SqlConnection conn = new SqlConnection(@"ConnectionString"); 
    SqlCommand cmd = new SqlCommand("SELECT tim,com,pic FROM ten", conn); 
    conn.Open(); 

    DataSet ds = new DataSet(); 
    SqlDataAdapter da = new SqlDataAdapter(cmd); 
    da.Fill(ds); 

    return ds; 
} 

但是我有插入一個文件上傳到數據庫的文件路徑(它工作正常),但我想知道如何通過代碼隱藏將列類型更改爲圖像。

感謝

+0

是否有不這樣做前面的頁面上的原因是什麼? –

+0

這是什麼代碼?你不會處理任何東西...... – Aristos

+0

@Schroedingers貓 - 表名是基於幾個變量的不同,所以我需要綁定網格視圖通過後面的代碼 – Wahtever

回答

0

答案是 - 從註釋 - 在代碼中設置列類型網格的聲明,並綁定您的數據後面。

如果您需要變量列類型,最簡單的路線是包含多列,並適當地顯示和隱藏它們。

+0

只需要從gridview中刪除自動生成列,謝謝 – Wahtever

0

您需要配置使用的Dispose()全部一次性物品....或者類似

using (SqlConnection conn = new SqlConnection(@"ConnectionString")) 
    { 
     using (SqlCommand cmd = new SqlCommand("SELECT tim,com,pic FROM ten", conn)) 
     { 
      conn.Open(); 

      using (DataSet ds = new DataSet()) 
      { 
       using (SqlDataAdapter da = new SqlDataAdapter(cmd)) 
       { 
        da.Fill(ds); 

        MainGrid.DataSource = ds; 
       } 
      } 

      conn.Close(); 
     } 
    } 
+0

我討厭聽起來像一個白癡,但我怎麼做這樣做,而不是的常規方式 – Wahtever

+0

@wahtever如果你不處理和關閉剩餘的物體,並且不久或者你有內存問題。這僅適用於可刪除的對象,而不是全部。 – Aristos

+0

你是對的我只是忘記關閉連接,謝謝你指出它 – Wahtever