日期:2014-05-17  浏览次数:20932 次

C# 如何判断数据库中的某个表是否存在
小弟编码,根据要求要做一个创建数据库的功能。小弟打算在创建数据库之前先进行一下判断,判断所要创建的表是否存在,代码如下
string datetime = dTyear.Text.ToString() + cbmonth.Text.ToString();
            string create = "Create Table " + datetime + "(ID Int Primary Key,E_Name char(10),E_Title char(10),BasicWage char(10),OverTime_Pay char(10),LatePenalty char(10),Allowance char(10))";
            string select = "select * from " + datetime.ToString() ;
            ocm = new OleDbCommand(create, occ);
            ocm1 = new OleDbCommand(select,occ);
            int flag = ocm1.ExecuteNonQuery();
            if (flag != 0)
            {
                ocm.ExecuteNonQuery();
                occ.Close();
                Form5 add = new Form5();
                this.Hide();
                add.Show();
                return;
            }
            else
            {
                MessageBox.Show(cbmonth.Text.ToString() + "月的核算表已经建立!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                occ.Close();
                return;
            }

这个功能能够检测到数据库中存在这个表,可是如果不存在这个表,就会出错。
比如说:数据库中存在一个名为“201308”的表,所以用户无法在创建一个类似的表。
但是如果用户想要创建一个名为“201309”的表,代码会先检测数据库内是否存在“201309”的表,因为不存在,所以就提示出错,要求查证输入的数据是否正确。。。。
小弟愚昧,不知道应该怎么做才能做到,表不存在即可创建,表存在则提示不可创建,这种功能,望大神们指教