如果不存在,创建数据库文件(.sdf)?

use*_*991 4 c# database visual-studio-2010 sql-server-ce

只是想知道一些这方面的做法;

我用本地数据库(SQL CE)(dB.sdf文件)制作了一个简单的可视化C#程序.

假设用户删除了dB.sdf文件,并尝试打开exe程序 - 没有任何反应(exe文件启动但又重新关闭).

这里的典型做法是什么?程序是不会启动还是让程序创建数据库文件(如果它不存在)?

如果是后者,它是如何完成的?

最好的祝福

Cod*_*der 8

第二种方法更明智,因为你的程序是uselsess,如果它依赖于被删除的数据库.

string connStr = "Data Source = DBName.sdf; Password = DBPassword";  

if (!File.Exists("DBName.sdf")){

try  {     
SqlCeEngine engine = new SqlCeEngine(connStr);  
engine.CreateDatabase();  

SqlCeConnection conn = new SqlCeConnection(connStr);     
conn.Open();      

SqlCeCommand cmd = conn.CreateCommand();     
cmd.CommandText = "CREATE TABLE TableName(Col1 int, Col2 varchar(20))";     
cmd.ExecuteNonQuery(); 

} 
catch (SQLException ex){
    // Log the exception
} 
finally  {     
conn.Close(); 
}
} 
Run Code Online (Sandbox Code Playgroud)