You should use:
Data Source=|DataDirectory|\MyDb.sdf
|DataDirectory|
points to the App_Data
folder.
在程序启动时,设置AppDomain.CurrentDomain.setData(“DataDirectory”,我的目录字符串);Winform的程序那当然是在Main函数中了,废话不说了,我的代码如下
) { if (p.EndsWith("\\bin\\Debug\\")) p = p.Replace("\\bin\\Debug", ""); if (p.EndsWith("\\bin\\Release\\")) p = p.Replace("\\bin\\Release", ""); } if (!p.EndsWith("App_Data\\")) p = p + "App_Data\\"; AppDomain.CurrentDomain.SetData("DataDirectory", p);
思想就是去掉调试期间和生产期间的不同,这样要注意的是,发布程序的时候,数据库也要放到App_Data目录下面。