2014-04-24 58 views
-2

我想檢索值/ miejsca /,但我不知道它是如何工作的。例如,請向我展示如何將選擇值定義爲變量或如何在文本框中顯示它。選擇sql如何獲取值DataReader

此時我在文本框中收到「System.Data.SqlClient.SqlDataReader」。

 SqlDataReader reader; 
     cn.Open(); 
     cmd.CommandText = ("SELECT miejsca FROM oferty WHERE oferty.idoferty = @rezerw"); 
     cmd.Parameters.AddWithValue("@rezerw", rezerw); 
     cmd.CommandType = CommandType.Text; 
     cmd.Connection = cn; 
     reader = cmd.ExecuteReader().Read 
     string rs = Convert.ToString(reader); 
     TextBox1.Text = rs;//at this point i recieve "System.Data.SqlClient.SqlDataReader" in textbox 
     cn.Close(); 
+0

這是相當基本和在無數的資源中得到很好的描述。試着用你的問題標題搜索,你會得到你所需要的。 – Szymon

+0

你有沒有試過抹掉教程或 - 啊 - 文檔?我的意思是「你好,盯着代碼,我討厭文檔」當你在「教程3:從數據讀取器中獲得價值」的層面上時,這並不好。 – TomTom

+0

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqldatareader.aspx – jeroenh

回答

2

如果你正在讀一個行和一列:只要使用ExecuteScalar()

string rs = (string)cmd.ExecuteScalar(); 

但是,爲了回答你的問題,正常的用法是:

using(var reader = cmd.ExecuteReader()) 
{ 
    while(reader.Read()) 
    { 
     // read a row, for example: 
     string foo = reader.GetString(0); 
     Console.WriteLine(foo); 
    } 
}