用SqlConnection连接到数据库,然后通过执行CREATE DATABASE MyDatabase来创建新的数据库,SQL Server可以这样操作,其他的没用过

解决方案 »

  1.   

    那怎样在C#中处理创建别的数据库(不是SQL Server数据库)?
      

  2.   

    回复人: HNU(嶽麓書院 為楚有材,於斯為盛!) ( ) 信誉:98  2004-06-16 10:40:00  得分: 0  
     
     
       
    感觉其它数据库没有提供建库的服务
      
     
    刚才我也测试了一下其他的数据库(access),程序报告CREATE DATABASE MyDatabase语法错误,看来可能其他的数据库真的不支持创建数据库SQL语句
      

  3.   

    以前DAO有CreateDataBase方法,就可以创建数据库的,现在的ADO.NET不可能没有的吧,那位知道呀?
    那怎样在C#中处理创建别的数据库(不是SQL Server数据库)?
      

  4.   

    在MSDN上看到一段
    if (File.Exists("Test.sdf"))
        File.Delete("Test.sdf");string connStr = "Data Source = Test.sdf; Password = <password>";
     
    SqlCeEngine engine = new SqlCeEngine(connStr);
    engine.CreateDatabase();
    engine.Dispose();
    估计就是这个了,只是没找到那个名称空间System.Data.SqlServerCe.SqlCeEngine在那个dll里面
      

  5.   

    但是上面这个也只是支持SQL Server,确实以前的Ado就有CreateDatabase,现在.net下面到不知道该怎么用了
      

  6.   

    excel文件的创建到比较简单,写文件的时候直接把文件扩展名写成".xls"就行,行和列的控制可以用制表符和回车符来控制
      

  7.   

    简单,可以先建个空的数据库。把名称改为sys.dll。在程序中调用的时候拷贝出来,改名!
      

  8.   

    Access数据库可以用ADOX来创建。例子:
    SaveFileDialog of = new SaveFileDialog( );
    of.AddExtension = true;
    of.DefaultExt = "mdb";
    of.Filter = "DataFile (*.mdb)|*.mdb";

    DialogResult dr = of.ShowDialog( );

    string fileName;if ( dr == DialogResult.Cancel )
    return;fileName = of.FileName;

    CatalogClass cat = new CatalogClass( );cat.Create("Provider=Microsoft.Jet.OLEDB.4.0;" +
    "Data Source=" + fileName + ";");TableClass tc = new TableClass( );
    tc.ParentCatalog = cat;
    tc.Name = "Customers";ColumnClass cc = new ColumnClass( );
    cc.ParentCatalog = cat;
    cc.Name = "ID";
    cc.Properties[ "Jet OLEDB:Allow Zero Length" ].Value = false;
    tc.Columns.Append( cc, ADOX.DataTypeEnum.adVarChar, 25 );
    tc.Keys.Append( "PrimaryKey",ADOX.KeyTypeEnum.adKeyPrimary, "ID", "", "" );
    cat.Tables.Append( tc );cat = null;
      

  9.   

    用odbc可以实现啊,数据驱动不同而已,一样用sql语法,连delphi用的paradox都可以建立
      

  10.   

    >在MSDN上看到一段
    >if (File.Exists("Test.sdf"))
    >    File.Delete("Test.sdf");>string connStr = "Data Source = Test.sdf; Password = <password>";
     
    >SqlCeEngine engine = new SqlCeEngine(connStr);
    >engine.CreateDatabase();
    >engine.Dispose();
    >估计就是这个了,只是没找到那个名称空间System.Data.SqlServerCe.SqlCeEngine在那个dll里面
    这是SQL CE的,用在Windows CE里头,不是普通的SQL
      

  11.   

    上面的方法都好麻烦,有没有更简洁的,SQLDMO好像也可以做是吗?