查找數據是否使用查詢返回的最簡單和最有效的方法是什麼?我使用DataTable
,如sqlAdapter.Fill(_table1)
,然後執行_table1.Rows.Count
以查看數據表是否有任何行。如果有任何行,C#中是否有任何類和函數只是給我提供的。我不需要行的數據。伯爵是我需要的。我對非常大的數據集運行這個查詢,所以我不想用所有的行信息填充數據表。如果查詢返回任何行計數,則爲C#SQL
回答
string myScalarQuery = "select count(*) from TableName";
SqlCommand myCommand = new SqlCommand(myScalarQuery, myConnection);
myCommand.Connection.Open();
int count = (int) myCommand.ExecuteScalar();
myConnection.Close();
%的意見查詢波紋管的可能的優化: 選擇頂層1 * FROM表名
我的理解是,你想要一個查詢來確定一個表是否包含任何行?那麼爲什麼不只是運行一個計數查詢 – TGH
看起來不錯(+1)。那麼,除非不是一個靜態類型的查詢;-) *然而*,ExecuteScalar有一個'object'返回類型,所以Convert.ToInt32可能是有序的。 – 2012-05-26 00:26:05
如果您只想查看行並且實際上不需要計數,也許SELECT TOP 1 1 FROM而不是* - 一旦它看到一行就停止處理。 – user1166147
最便宜的方法是使用SqlDataReader對象的HasRows財產
UPDATE:當然,最高效的SELECT查詢將會像「Select Top 1 1 FROM TableName」一樣,甚至不需要提取任何列數據。
using (SqlConnection conn = new SqlConnection(connectionString))
{
conn.Open();
using (SqlDataReader rdr = cmd.ExecuteReader())
{
if (rdr.HasRows)
...
}
}
SqlCommand在此中的外觀案件(爲了完整)?有沒有理由贊成這個COUNT? – 2012-05-26 01:09:12
最慢的組件將始終是查詢本身,所以C#部分更不重要。 – TGH
- 1. SQL Server查詢不返回任何行
- 2. SQL查詢不返回任何數據
- 3. SQL查詢計算返回結果
- 4. SQL - 如果計數結果= 0,則運行第二個查詢
- 5. 返回多個sql查詢結果 - C#
- 6. C#:SQL「Select Top ..」查詢不返回任何行嗎?
- 7. 如何計算從wordpress使用sql查詢返回的行數?
- 8. 如果執行帶返回值的SQL語句,則不返回查詢遊標
- 9. PHP Mysqli不返回任何行,而手動SQL查詢返回結果
- 10. SQL:如果第一個查詢沒有返回任何行,則調用第二個查詢
- 11. MySQL加入查詢計數爲每個結果返回一行
- 12. 如何測試Linq to SQL查詢是否返回任何行?
- 13. 查詢不會返回任何結果
- 14. SQLite Android查詢返回任何結果
- 15. 查詢沒有返回任何結果
- 16. Influxdb - 查詢返回任何結果
- 17. 會有什麼rs.getString(1)返回如果SQL查詢不返回任何
- 18. SQL查詢不返回任何內容
- 19. SQL查詢不返回任何東西
- 20. mongo_mapper查詢返回任何結果,在DB返回直接查詢結果
- 21. MongoDB的正則表達式查詢返回任何結果
- 22. 爲什麼這個sql查詢返回比較浮點數的任何結果?
- 23. 如何用C#返回SQL查詢結果消息ASP.net
- 24. 如果SQL沒有返回查詢
- 25. SQL查詢不返回行
- 26. SQL LIKE查詢返回行
- 27. SQL查詢返回0行
- 28. CSHTML腳本 - 如果SQL查詢返回NULL,則顯示HTML
- 29. 我的SQL聯接查詢返回任何結果
- 30. CodeIgniter SQL查詢不會返回任何結果
進行計數查詢。 –