C#是一門非常流行的程序設計語言,也被廣泛應用于各種軟件開發中。在使用C#進行數據庫操作時,我們經常會遇到需要查詢數據庫中符合條件的記錄數量的情況。而類似于mysql_num_rows()函數的功能在C#中并沒有一個直接可以使用的函數,因此我們需要自己來實現類似的功能。
public int GetRowCount(SqlConnection conn, string tableName) { int count = 0; string query = string.Format("SELECT COUNT(*) FROM {0}", tableName); SqlCommand cmd = new SqlCommand(query, conn); try { conn.Open(); count = (int)cmd.ExecuteScalar(); } catch (Exception ex) { Console.WriteLine(ex.Message); } finally { conn.Close(); } return count; }
上面的代碼段通過查詢數據庫中指定表中的記錄數量來模仿mysql_num_rows()函數。其中,SqlConnection是C#中訪問數據庫的類,表示與數據庫建立的連接;SqlCommand是執行SQL語句的類,ExecuteScalar()函數用于執行查詢并返回結果的第一行第一列。
該函數需要傳入兩個參數:連接對象和表名。需要注意的是,輸入的表名應該是合法的,避免SQL注入攻擊。此外,該函數的異常處理部分可以根據需要進行修改,例如改為返回-1表示查詢失敗等。