我想用w winform c#application连接到本地数据库
当我将连接字符串设置为数据时:Source=C:\Users\PACKARD BELL\documents\visual studio 2010\Projects\GestionStock\MyApp\Mydb.sdf
它工作正常,但是当我将它设置为Data Source=|DataDirectory|\Mydb.sdf
时,它才能正常工作
我试图在控制台中打印带有数据目录变量的连接字符串,我发现它没有改变
我希望连接字符串随应用程序文件夹的位置而改变
我该怎么做? 提前谢谢
答案 0 :(得分:0)
但是文件夹App_Data
中的sdf文件答案 1 :(得分:0)
以下是article我写过的废话:
// What's the name of the file you want to work with
var file_name = "parse_me.txt";
// Let's assume you're working with the file on your desktop
var path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
// This is needed to "paste" the dir and the file name (it'll add the "\" basically).
var file_location = Path.Combine(path,file_name);
// Now you can do:
string[] read_all_lines = System.IO.File.ReadAllLines(file_location);
假设你有文件,它应该可以工作。
答案 2 :(得分:0)
根据MSDN:
|DataDirectory|
:这是通过AppDomain.SetData("DataDirectory", objValue)
方法设置的值。 ASP.NET应用程序解析| DataDirectory |到“/ app_data”文件夹。
基本上,如果使用|DataDirectory|
值,则数据库必须存在于项目的App_Data\
目录中。您可以更改默认值,但实际上这只会使可能期望默认行为的其他开发人员感到困惑。
所以,而不是
Source=C:\Users\PACKARD BELL\documents\visual studio 2010/Projects\GestionStock\MyApp\Mydb.sdf
,
它将是
Source=C:\Users\PACKARD BELL\documents\visual studio 2010\Projects\GestionStock\MyApp\App_Data\Mydb.sdf