我正在尝试与 Windows CE 5.0 应用程序中的数据库建立连接,并且我正在使用 Compact Framework 2.0
数据库位于项目文件夹内:
C:\Documents and Settings\softdil\My Documents\Visual Studio 2008\Projects\Datalogic\Datalogic
这些是我用来连接和打开数据库的行:
SqlCeConnection conn = new SqlCeConnection();
conn.ConnectionString = "Data Source = Datalogic.sdf;";
conn.Open();
这给了我一个漂亮的“找不到数据库文件”错误消息。
我也尝试过使用绝对 uri 得到相同的结果:
conn.ConnectionString = "Data Source = C:\\Documents and Settings\\softdil\\My Documents\\Visual Studio 2008\\Projects\\Datalogic\\Datalogic;";
我在这里做错了什么?
可能与移动设备正在调试(执行)的应用程序有关?
我真的不这么认为,因为数据库在应用程序加载时工作,这意味着它与列表框关联并从数据库正确加载数据。
最佳答案
在 Win CE 应用程序中,我们使用以下方法获取执行文件的完整路径:
string StartupPath = Path.GetDirectoryName(Assembly.GetExecutingAssembly().GetName().CodeBase);
使用 StartupPath
然后您可以将数据库名称添加到该路径并将其添加到连接字符串:
string datalogicFilePath = Path.Combine(StartupPath, "Datalogic.sdf");
string connectionString = string.Format("DataSource={0}", datalogicFilePath);
关于c# - SQL Server CE 数据库的连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6744134/