通过C#在MySQL中检查和创建视图

时间:2014-04-22 12:38:42

标签: c# mysql

我需要能够查看我的MySQL数据库中是否已经存在View,以及它是否创建了一个 - 通过c#。我真的可以做一些帮助,并指出正确的方向 - 如果可能的话。

2 个答案:

答案 0 :(得分:3)

您可以使用information_schema查询是否存在服务器对象(在您的情况下为视图)。我在C#中的示例代码段如下所示。

String conn = @"Data Source=myserverName;
       Initial Catalog=myCatalogName;Integrated Security=True";
string cmdStr = "select count(*) from 
      information_schema.views where table_schema = 'mySchemaName' 
      AND table_name = 'MyViewName'";

using (MySqlConnection conn = new MySqlConnection(conn))
{
    MySqlCommand cmd = new MySqlCommand(cmdStr, conn);
    conn.Open();
    MySqlDataReader reader = cmd.ExecuteReader();
    while (reader.Read())
    {
       int count = reader.GetInt32(0);
       if (count == 0)
       {
           MessageBox.Show("View does not exists!");
             MySqlCommand command = new MySqlCommand("Create View myView
             as select
             * from myTable;", conn)
           command.ExecuteNonQuery();

       }
       else if (count == 1)
       {
           MessageBox.Show("View exists!");
       }
        conn.Close();
    }
}

答案 1 :(得分:1)

您是否可以使用创建或替换视图view_name作为...?