如果不创建数据库文件(.sdf)';t存在
本文关键字:存在 sdf 创建 数据库 文件 如果不 | 更新日期: 2023-09-27 18:29:43
只是想知道这方面的一些实践;
我用本地数据库(SQL CE)(dB.sdf文件)制作了一个简单的可视化C#程序。
假设用户删除了dB.sdf文件并尝试打开exe程序,但什么也没发生(exe文件启动但再次关闭)。
这里的典型做法是什么?是程序无法启动,还是让程序在不存在的情况下创建一个数据库文件?
如果是后者,是如何做到的?
第二种方法更明智,因为如果您的程序依赖于被删除的数据库,那么它是无用的。
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();
}