2012-05-27 232 views
3

如何檢查我的表是否從C#空?如何檢查mysql表是否爲空?

我有類似:

public MySqlConnection con; 
public MySqlCommand cmd; 

con = new MySqlConnection(GetConnectionString()); 
con.Open(); 
cmd = new MySqlCommand("SELECT * FROM data;", con); 

或者我不需要調用SELECT語句?

+1

'SELECT COUNT(*)從數據'會返回行數。如果它是0,那麼它是空的。它會比你有的更快(如果它有數據),因爲它不必返回所有的數據。 – Brook

+1

「從mytable選擇計數(*)」是答案。 「int nRows = System.Convert.ToInt32(cmd.ExecuteScalar())」是你如何執行它。 – paulsm4

回答

4

您可以使用COUNT(*)而沒有WHERE關閉並查看結果中是否確切存在多少行。

或者你可以做一個SELECT (id) FROM tablename沒有WHERE子句,如果沒有行返回,那麼表是空的。

+0

你能舉個例子嗎? –

+0

我不知道C#,所以我不能發佈代碼示例。但是,如果你可以做基本的MySQL查詢,這應該很容易做到。 –

0

SELECT COUNT(*)FROM表WHERE col_name IS NOT NULL

4

我給你舉個例子在C#中的好運氣

public bool checkEmptyTable(){ 
try 
     { 
      MySql.Data.MySqlClient.MySqlCommand com = new MySql.Data.MySqlClient.MySqlCommand(); 
      conn = new MySql.Data.MySqlClient.MySqlConnection("YOUR CONNECTION"); 
      com.Connection = conn; 
      com.CommandText = "SELECT COUNT(*) from data"; 

      int result = int.Parse(com.ExecuteScalar().ToString()); 

      if (result == 0) 
       return true; //is empty 
      else 
       return false;//is not empty 

     } 
     finally 
     { 
      conn.Close(); 
     } 

}