Deu*_*ion 11 c# database sql-server sql-server-ce dynamically-generated
如何使用"代码"创建一个新的.mdf/.sdf数据库?
我试过这个:http: //support.microsoft.com/kb/307283
它只是在ConnectionString上失败了.由于我在创建之前没有连接到存在的文件,我怎么才能只创建一个mdf/sdf数据库来连接到SQL Express Server?
我希望能够只连接到服务器并创建文件,从那里可能更容易创建表等.
有什么建议?
小智 20
public static void CreateSqlDatabase(string filename)
{
string databaseName = System.IO.Path.GetFileNameWithoutExtension(filename);
using (var connection = new System.Data.SqlClient.SqlConnection(
"Data Source=.\\sqlexpress;Initial Catalog=tempdb; Integrated Security=true;User Instance=True;"))
{
connection.Open();
using (var command = connection.CreateCommand())
{
command.CommandText =
String.Format("CREATE DATABASE {0} ON PRIMARY (NAME={0}, FILENAME='{1}')", databaseName, filename);
command.ExecuteNonQuery();
command.CommandText =
String.Format("EXEC sp_detach_db '{0}', 'true'", databaseName);
command.ExecuteNonQuery();
}
}
}
Run Code Online (Sandbox Code Playgroud)
更改Catalog=tempdb到Catalog=master,其良好的工作
样品用途:
var filename = System.IO.Path.Combine("D:\\", "testdb.mdf");
if (!System.IO.File.Exists(filename))
{
CreateSqlDatabase(filename);
}
Run Code Online (Sandbox Code Playgroud)