http://www.csdn.net/Develop/read_article.asp?id=20501动态创建SQL Server数据库、表、存储过程等 

解决方案 »

  1.   

    1。Aceess下创建一个空壳,然后使用sql语句创建表(注意:access构造表的SQL语句不好写,最好是拷贝一份空的access数据库)参考代码
    创建Acess+密码数据库
    private void button1_Click(object sender, System.EventArgs e)
      {
                  //DAO.Workspaces[0].Databases.CreateDatabase("c:\\xx.mdb",";pwd=NewPassword");
       DAO.Database DB;
       DAO.DBEngineClass m_Obj = new DAO.DBEngineClass();    
       DB = m_Obj.CreateDatabase("c:\\xx.mdb",DAO.LanguageConstants.dbLangChineseSimplified+";pwd=1",DAO.DatabaseTypeEnum.dbVersion40);
             DAO.Field tdField = new DAO.FieldClass();
       DAO.Index tdIndex = new DAO.IndexClass();
       DAO.TableDef tdNew = new DAO.TableDefClass();
       //Create Options Table
            tdNew = DB.CreateTableDef("Options", 0, "", "");
            tdField = tdNew.CreateField("ID", DAO.DataTypeEnum.dbLong, 0);
            tdNew.Fields.Append(tdField);
            tdIndex = tdNew.CreateIndex("idxOptions");
            tdIndex.Primary = true;
            tdField = tdIndex.CreateField("ID", DAO.DataTypeEnum.dbLong, 0);    
             DB.TableDefs.Append(tdNew);
             DB.Close();
       
      }
    2。sql server 同样先创建空壳,然后执行sql语句
    参考代码:
     System.Data.OleDb.OleDbConnection DBConn = new System.Data.OleDb.OleDbConnection();
    string connectionStr = "Provider=SQLOLEDB.1;Password=1234567;Persist Security Info=True;User ID=sa;Initial Catalog=pubs;Data Source=NETBEE";
    DBConn.ConnectionString = connectionStr;
                DBConn.Open();
    System.Data.OleDb.OleDbCommand Comm = new System.Data.OleDb.OleDbCommand("",DBConn);
    Comm.CommandText = "create database test";
    Comm.ExecuteNonQuery();
    MessageBox.Show("创建数据库成功!");
      

  2.   

    using System.Data;
    using System.Data.OleDb;
    ....
    private void button2_Click(object sender, System.EventArgs e)
    {
    OleDbConnection myConnection=new OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\\db1.mdb");
    OleDbCommand myCommand=new OleDbCommand("create table test2(ID Text,Name Text)",myConnection);
    myConnection.Open();
    myCommand.ExecuteNonQuery();
    myConnection.Close();
    }
      

  3.   

    多谢  net_lover(孟子E章)和tjq_tang(过河兵)的回复。
    Access 数据库用tjq_tang(过河兵)的方法不错,但Sql还是动态创建的好(个人意见)
    好了,再次谢谢两位。每个50分。