2009-07-12 46 views
0

我試圖做一些非常簡單的事情,但我似乎無法找到正確的方法來做到這一點。如何解析SQL查詢結果並使用C#修改它?

我有一個包含查詢結果的MySqlDataAdapter對象。我想在將它們呈現在ASP.NET Repeater中之前解析此查詢的結果。 (將日期從Unix Epoch轉換爲人類可讀的東西)。

到目前爲止,我無法簡單地找到如何創建一個循環,這將允許我在SQL結果中逐行移動,解析幾個字段並更改一些字段的內容。

我還不能確定我是否可以直接從MySqlDataAdapter,DataSet或DataTable中執行此操作。我在網上看到的大多數例子都沒有涵蓋這個特定的主題。

回答

2

首先,你可以填寫與結果的數據表:

DataTable table = new DataTable(); 
adapter.Fill(table); 

之後,你可以遍歷數據表,做你的修改:

foreach (DataRow row in table.Rows) { 
    row["MyDate"] = DoMagic(row["MyDate"]); 
} 
0

你不能在DataAdapter對象上循環結果集。你應該fill your results into a DataTable,那麼這將是非常簡單的環行:

DataSet myDataSet = new DataSet(); 
myDataAdapter.Fill(myDataSet); 

if (myDataSet.Tables.Count > 0) 
{ 
    foreach (DataRow drResult in myDataSet[0].Rows) 
    { 
     // Do some stuff here over your row... 
    } 
} 
0

在數據集內進行。

從dataadapter填充數據集,然後遍歷數據集中的記錄,並在將其綁定到中繼器之前對其進行修改。

喜歡的東西:

DataSet ds = new DataSet(); 
da.Fill(ds); 
foreach(DataRow row in ds.Tables[0].Rows) 
{ 
row[0] = ParseThisField(row[0]); 
} 
// then do your databind 

是一個有點哈克的方式做到這一點,雖然,但應該工作不夠好,你的目的。