2013-03-18 157 views
1

使用檢索到的數據如果我使用參數化查詢(ASP.NET與C#)在SQL中,如從參數化SQL查詢

var db = Database.Open("Database1"); 
SqlCommand cmd = new SqlCommand("SELECT * FROM pageinfo WHERE pageID = @pageID"); 
cmd.Parameters.AddWithValue("@pageID", 1); 

,後來在頁面上,我希望做一個無論數據的foreach循環被檢索:

foreach(var row in ???) 

我會用(取代???的)來訪問我只檢索到的數據是什麼?

謝謝。

回答

3

這取決於您如何執行查詢

通常它是由SqlCommand.ExecuteReader

例如做,你的情況,你可以:

.... 

SqlDataReader reader = cmd .ExecuteReader(); 
while (reader.Read()) 
{ 
    ... 
} 

但也有其他的方式來rertieve數據,例如使用DataSet 對於一個完整的例子關於怎麼做可以看看:

Using ADO.NET for beginners

0

您可以使用while迭代語句與SqlCommand.ExecuteReader而不是foreach。看看這個;

var db = Database.Open("Database1"); 
SqlCommand cmd = new SqlCommand("SELECT * FROM pageinfo WHERE pageID = @pageID"); 
cmd.Parameters.AddWithValue("@pageID", 1); 
SqlDataReader reader = cmd.ExecuteReader(); 

while (reader.Read()) 
{ 
    Console.WriteLine(reader[0]); 
} 

reader[0]返回第一列的第一行和reader[1]返回第一行第二列的,如果你的數據當然有。