Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 获取数据库C中的表总数#_C#_Sql Server_Winforms - Fatal编程技术网

C# 获取数据库C中的表总数#

C# 获取数据库C中的表总数#,c#,sql-server,winforms,C#,Sql Server,Winforms,如何获取c#中的表总数。这就是我试过的。这是真的 conn = new MySqlConnection(); conn.ConnectionString = connString; conn.Open(); string queryss = "SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = 'bluevels_local_sis'"; MySqlCommand cmdaa = new MySqlCommand

如何获取c#中的表总数。这就是我试过的。这是真的

conn = new MySqlConnection();
conn.ConnectionString = connString;
conn.Open();
string queryss = "SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = 'bluevels_local_sis'";
MySqlCommand cmdaa = new MySqlCommand(queryss, conn);
MySqlDataReader dataReaderxx = cmdaa.ExecuteReader();
dataReaderxx.Read();
MessageBox.Show(Convert.ToString(dataReaderxx.HasRows));
conn.Close();

您需要从返回的结果集中获取列值

dataReaderxx.Read();
dataReaderxx.GetInt32(0)

关闭,只需使用
ExecuteScalar()
获取单个值。不需要数据读取器

    string queryss = "SELECT COUNT(*) FROM information_schema.tables WHERE table_schema = 'bluevels_local_sis'";
    using(conn = new MySqlConnection(connString)){
        conn.Open();
        MySqlCommand cmdaa = new MySqlCommand(queryss, conn);
        MessageBox.Show(cmdaa.ExecuteScalar().ToString());
    }

当结果只有一行和一列(如计数)时,使用
ExecuteScalar
而不是执行
ExecuteReader
可以大大简化代码。ExecuteScalar将返回该值。