请参阅如何检查数据库是否存在的问题?我试图在web.config连接字符串中检测到DB的存在,但运气不好.
我正在使用上面的最后一个答案作为我的审判.
试验1: web.config中的连接字符串
<add name="sqlCEConnString" connectionString="Data Source=|DataDirectory|db.sdf;Initial Catalog=master" providerName="System.Data.SqlServerCE.4.0"/>
Run Code Online (Sandbox Code Playgroud)
我收到错误:不支持关键字:'初始目录'.
试用2:没有关键字
string conString = ConfigurationManager.ConnectionStrings ["sqlCEConnString"].ConnectionString;
using(SqlCeConnection cnn = new SqlCeConnection(conString))
{
cnn.Open();
using (SqlCeCommand com = new SqlCeCommand("select count(*) from sys.databases where name = 'db.sdf'" , cnn))
{
int j=com.ExecuteNonQuery();
Response.Write("Result:" + j);
}
}
Run Code Online (Sandbox Code Playgroud)
这次我收到以下错误: 指定的表不存在.[@@ sys.databases]
我做错了什么?
最后,我找到了根据连接字符串检测数据库是否存在的方法.在"SqlCeEngine"类下,有一个名为"Verify"的方法,通过它可以检测到它.
string conString = ConfigurationManager.ConnectionStrings["sqlCEConnectionString"].ConnectionString;
using (SqlCeEngine objCeEngine = new SqlCeEngine(conString))
{
if (!objCeEngine.Verify())
{
objCeEngine.CreateDatabase();
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2276 次 |
| 最近记录: |