2014-02-20 55 views
-5

我不知道如何做到這一點,但我試圖做到這一點...多重如果結果爲

  using (SqlCommand sqlCmd2 = new SqlCommand { CommandText = "SELECT ID FROM Products.Products WHERE PartNumber like '" + textBox8.Text + "'", Connection = sqlCon2 }) 
       using (SqlCommand sqlCmd3 = new SqlCommand { CommandText = "SELECT ID FROM Products.Products WHERE PartNumber like '" + textBox9.Text + "'", Connection = sqlCon2 }) 
{ 
       sqlCon2.Open(); 
       object result1 = sqlCmd2.ExecuteScalar(); 
       if (result1 != null) 
       { 
        textBox1.Text = sqlCmd2.ExecuteScalar().ToString(); 
        textBox2.Text = sqlCmd3.ExecuteScalar().ToString(); 

,但我想在RESULT1兼得sqlCmd2和sqlCmd3。我將如何做到這一點?

也許是類似的東西?

這是錯誤的.....我只是不知道如何正確書寫它。

object result1 = sqlCmd2.ExecuteScalar(), sqlCmd3.ExecuteScalar(); 
+2

會是什麼那什麼意思?你想要什麼價值?它的類型是什麼? –

+1

如果可能的話,我會在另一個cmd中進行數學運算,然後返回,並且我希望這裏的版主會因爲不完美而退出投票人羣< - 他們應該建議您對他們認爲是錯誤的問題 – spojam

+1

我只是想弄清楚如何將兩個結果放入對象結果1 –

回答

4

也許你正在尋找的是一個ArrayList。這兩種可以包含多個值的序列,這樣可以讓你做到這一點,例如:

var resultArray = new[] { 
    sqlCmd2.ExecuteScalar().ToString(), 
    sqlCmd3.ExecuteScalar().ToString() 
}; 

// Read results with resultArray[0], resultArray[1] 

另一種選擇是每個結果分配給一個對象的屬性:

var result = new { 
    OneResult = sqlCmd2.ExecuteScalar(), 
    OtherResult = sqlCmd3.ExecuteScalar() 
}; 

// Read results with result.OneResult or result.OtherResult 
+0

這是一個很好的答案,因爲結果類型比問題中的原始「對象」有用得多。 – Magus