如果不存在,创建数据库文件(.sdf)?
只是想知道一些关于此的做法;
我用本地数据库(SQL CE)(dB.sdf文件)制作了一个简单的可视化C#程序。
假设用户删除了dB.sdf文件并尝试打开exe程序 – 没有任何反应(exe文件启动但又重新关闭)。
这里的典型做法是什么? 程序是不会启动还是让程序创建数据库文件(如果它不存在)?
如果是后者,它是如何完成的?
最好的祝福
第二种方法更明智,因为你的程序是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(); } }
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(); }