2013-07-15 37 views
0

我相信這很簡單,但我花了一段時間Google搜索並查看可用的API,但我還沒有找到解決方案。使用C#從SQL表中提取單個數據元素使用C#

當我知道Column和Row從中獲取數據到我的C#代碼中時,我只需從已知的SQL表中獲取數據元素(在本例中爲double)。爲了簡單起見,假設我的表格有3列:ProductID,Price和Weight。我有我的C#代碼訪問ProductID,並且我創建了一個字符串,它是ProductID。現在我只需要在我的C#代碼中將相應的Price的ProductIDs變成雙精度型。

我全新到SQL,但我相信一個pseudoquery會是這樣的:

SELECT Price FROM tablename WHERE ProductID=id 

不太擔心的查詢(但我很感激這種幫助以及)。我真的需要知道如何在C#中創建一個與SQL表中的特定數據元素相等的double。它應該很簡單,但我比它更難。以下是目前爲止的一些C#代碼:

SqlCommand sqlcommand = new SqlCommand("SELECT Price FROM tablename WHERE ProductID=id"); 
double ItemPrice = sqlcommand.GetData; 
+0

我沒有看到「GetData」作爲SqlCommand類中的方法。 – jadarnel27

+0

是的,我應該指出,這是一種僞代碼。這正是我不確定在那裏使用什麼的部分。 – DNAInstant

回答

2

你想要的是在命令對象上的ExexuteScalar

例如:

var cmd = new SqlCommand(connection); 
cmd.CommandText = "select price from products where id = 123"; 
var price = (double)cmd.ExecuteScalar(); 

MSDN文檔在這裏:http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlcommand.executescalar.aspx

單詞 「標」 來自數學世界,基本上只是意味着 「一個量化的價值。」

+0

我認爲這正是我需要的。查詢返回的數據集應該只有一個項目,所以它只會拉1.表示謝謝。 – DNAInstant

+2

當然。無論返回數據的大小如何,ExecuteScalar在技術上都會返回第一行的第一列。 – rossipedia