我以前好像看过使用DDL语句必须是独占打开连接,是不是这个问题?

解决方案 »

  1.   

    CREATE TABLE是SQL里面的,ACCESS支持吗!!!
      

  2.   

    Excel都可以打开然后创建表,Access当然可以
    string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +
    "Data Source="+sPath+
    ";Extended Properties=Excel 8.0;";
     OleDbCommand oComm=new OleDbCommand();
    try
    {

    oComm.Connection=new OleDbConnection(strConn);
    oComm.Connection.Open(); 
    string Sql="CREATE TABLE ["+sName+"] ("+sColumns+")";
    oComm.CommandText=Sql;
    oComm.ExecuteNonQuery();
      

  3.   

    using System;
    using ADOX; namespace WebPortal
    {
     /// <summary>
     /// CreateAccessDB 的摘要说明。
     /// 对于不同版本的ADO,需要添加不同的引用
      /// 请添加引用Microsoft ADO Ext. 2.7 for DDL and Security
      /// 请添加引用Microsoft ADO Ext. 2.8 for DDL and Security
     /// </summary>
     public class CreateAccessDB : System.Web.UI.Page
     {
        private void Page_Load(object sender, System.EventArgs e)
        {
          //为了方便测试,数据库名字采用比较随机的名字,以防止添加不成功时还需要重新启动IIS来删除数据库。
          string dbName = "D:\\NewMDB"+DateTime.Now.Millisecond.ToString()+".mdb";
          ADOX.CatalogClass cat = new ADOX.CatalogClass();
          cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dbName +";"); 
          Response.Write("数据库:" + dbName + "已经创建成功!");
          ADOX.TableClass tbl = new ADOX.TableClass();
          tbl.ParentCatalog = cat;
          tbl.Name="MyTable";      //增加一个自动增长的字段
          ADOX.ColumnClass col = new ADOX.ColumnClass();
          col.ParentCatalog = cat;
          col.Type=ADOX.DataTypeEnum.adInteger; // 必须先设置字段类型
          col.Name = "id";
          col.Properties["Jet OLEDB:Allow Zero Length"].Value= false;
          col.Properties["AutoIncrement"].Value= true;
          tbl.Columns.Append (col,ADOX.DataTypeEnum.adInteger,0);      //增加一个文本字段
          ADOX.ColumnClass col2 = new ADOX.ColumnClass();
          col2.ParentCatalog = cat;
          col2.Name = "Description";
          col2.Properties["Jet OLEDB:Allow Zero Length"].Value= false;
          tbl.Columns.Append (col2,ADOX.DataTypeEnum.adVarChar,25);      //设置主键
          tbl.Keys.Append("PrimaryKey",ADOX.KeyTypeEnum.adKeyPrimary,"id","","");
          cat.Tables.Append (tbl);       Response.Write("<br>数据库表:" + tbl.Name + "已经创建成功!");
          tbl=null;
          cat = null;
        }    #region Web 窗体设计器生成的代码
        override protected void OnInit(EventArgs e)
        {
          //
          // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。
          //
          InitializeComponent();
          base.OnInit(e);
        }    /// <summary>
        /// 设计器支持所需的方法 - 不要使用代码编辑器修改
        /// 此方法的内容。
        /// </summary>
        private void InitializeComponent()
        {    
          this.Load += new System.EventHandler(this.Page_Load);
        }
        #endregion
      }
    }
      

  4.   

    http://dotnet.aspx.cc/ShowDetail.aspx?id=275E8772-A68A-417F-FD66-B75EA44499A4