如果不创建数据库文件(.sdf)';t存在

本文关键字:存在 sdf 创建 数据库 文件 如果不 | 更新日期: 2023-09-27 18:29:43

只是想知道这方面的一些实践;

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

假设用户删除了dB.sdf文件并尝试打开exe程序,但什么也没发生(exe文件启动但再次关闭)。

这里的典型做法是什么?是程序无法启动,还是让程序在不存在的情况下创建一个数据库文件?

如果是后者,是如何做到的?

如果不创建数据库文件(.sdf)';t存在

第二种方法更明智,因为如果您的程序依赖于被删除的数据库,那么它是无用的。

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(); 
}
} 
                    string fileName = txtEditFolderPath.Text + "''" + txtEditDatabaseName.Text + ".sdf";
                     if (File.Exists(fileName))
                     {
                       MessageBox.Show("Database with this name already existed at this location !", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information);
                     }
                     else
                     {
                         string connectionString;
                         string password = "123";
                         connectionString = string.Format(
                           "DataSource='"{0}'"; Password='{1}'", fileName, password);
                         SqlCeEngine en = new SqlCeEngine(connectionString);
                         en.CreateDatabase();
                     }