2012-05-27 167 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(); 
     } 

}