小弟编码,根据要求要做一个创建数据库的功能。小弟打算在创建数据库之前先进行一下判断,判断所要创建的表是否存在,代码如下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”的表,因为不存在,所以就提示出错,要求查证输入的数据是否正确。
小弟愚昧,不知道应该怎么做才能做到,表不存在即可创建,表存在则提示不可创建,这种功能,望大神们指教c#数据库编码

解决方案 »

  1.   

    如果可以报错,就可以使用 tyr{}Catch{}语句来做
      

  2.   

    http://stackoverflow.com/questions/4793549/check-for-ms-access-database-table-if-not-exist-create-it
      

  3.   

    or
    http://www.codeproject.com/Articles/30957/Check-if-a-table-or-field-exists-in-a-database
      

  4.   

    这样你写一个存储过程,在存储过程中写SQL语句来判断表是否存在,然后用C#调用存储过程就可以了
      

  5.   

    like this:
    if exists (select * from sysobjects where name='...')
      

  6.   

    对于t-sql编程,那么应该先建立概念,“知道”这个的存在:http://technet.microsoft.com/zh-cn/library/ms177862.aspx