起初它写了这个例外:
“SQL Server Compact不适用于ASP.NET开发。”
然后我补充说:
AppDomain.CurrentDomain.SetData("SQLServerCompactEditionUnderWebHosting", true);
到Global.aspx并修复了它。
但是现在当我尝试打开SqlCeConnection
时,它给了我这个例外:
不兼容的数据库版本。如果这是兼容文件,请运行 修理。对于其他情况,请参阅文档。 [Db版= 4000000,请求的版本= 3505053,文件名= \?\ C:\ Users \ gal \ Documents \ Visual Studio 2012 \ WebSites \ Project_Level_4 \ DB \ PhoneBookWeb.sdf]
有人可以帮忙吗?
答案 0 :(得分:0)
安装SQL CE 4.0程序包:http://www.microsoft.com/en-us/download/details.aspx?id=17876
尝试将IDE中的引用添加到“C:\ Program Files(x86)\ Microsoft SQL Server Compact Edition \ v4.0 \ Desktop \ System.Data.SqlServerCe.dll”
添加using子句:
using System.Data.SqlServerCe;
using System.IO;
然后尝试这样的事情:
string connectionString;
string fileName = "test.sdf";
string password = "test";
if (File.Exists(fileName))
File.Delete(fileName);
connectionString = string.Format("DataSource=\"{0}\"; Password='{1}'", fileName, password);
SqlCeConnection conn = null;
try {
SqlCeEngine engine = new SqlCeEngine(connectionString);
engine.CreateDatabase();
conn = new SqlCeConnection(connectionString);
conn.Open();
SqlCeCommand cmd = conn.CreateCommand();
cmd.CommandText = "CREATE TABLE myTable (col1 int, col2 ntext)";
cmd.ExecuteNonQuery();
}
catch(Exception ex)
{
Console.WriteLine(ex.ToString());
}
finally {
conn.Close();
}