2016-09-22 47 views
0

我有一個簡單的SQL查詢:用C#SqlDataRader乘以列充分利用SQL查詢值數

SELECT * FROM ExampleTable 

ExampleTable有7列。我想獲得特定的列值,例如:第二和第四。對於我使用的是SqlDataReader這樣的:

using(SqlCommand cmd = new SqlCommand(query,conn)) 
{ 
    using(SqlDataReader reader = cmd.ExecuteReader()) 
    { 
     if(reader != null) 
     { 
      var firstvalue = ""; 
      var fourthvalue = ""; 

      while(reader.Read()) 
      { 
       firstvalue = reader[1].ToString(); 
       fourthvalue = reader[3].ToString(); 
      } 
     } 
    } 
} 

當我試圖表現出在控制檯的值,它是由列相乘計算,應用程序寫入firstvalue和fourthvalues七次。如何解決它?有任何想法嗎?

編輯:

我現在評論這之下和其確定的代碼。無論如何,感謝您的建議。

+0

如果您只需要特定列,爲什麼不在指定查詢中指定這些列名稱而不是*? – A3006

+0

@fanarek而不是'*'爲什麼你不能選擇你需要的列? – Webruster

+0

我當然可以,但問題是:它會像以前一樣繁衍嗎? – fanarek

回答

0

在SQL查詢分析器中檢查查詢結果SELECT * FROM ExampleTable。它可能是數據庫中的重複值。如果沒有,請發佈您的代碼進行控制檯打印。