C#:将DataGridView绑定到应用程序目录中的数据库文件
我目前有一个DataGridView绑定到“c:\temp”中的sqlite数据库。我使用VS2008 GUI绑定它。我希望它绑定到运行应用程序的任何目录中的数据库。我可以看到路径被硬编码为“c:\temp\myapp.db”的位置,但是如果我在生成的代码中更改它,我想重新编译时它会被覆盖吗 如何设置它,使DataGridView连接到应用程序所在目录中的sqlite db文件 我对Winforms编程非常陌生,因此非常感谢逐步详细介绍 更新 我想我知道如何获得cwd(见下文);问题在于,当VS生成db访问代码时,让DataGridView使用它C#:将DataGridView绑定到应用程序目录中的数据库文件,c#,winforms,sqlite,datagridview,C#,Winforms,Sqlite,Datagridview,我目前有一个DataGridView绑定到“c:\temp”中的sqlite数据库。我使用VS2008 GUI绑定它。我希望它绑定到运行应用程序的任何目录中的数据库。我可以看到路径被硬编码为“c:\temp\myapp.db”的位置,但是如果我在生成的代码中更改它,我想重新编译时它会被覆盖吗 如何设置它,使DataGridView连接到应用程序所在目录中的sqlite db文件 我对Winforms编程非常陌生,因此非常感谢逐步详细介绍 更新 我想我知道如何获得cwd(见下文);问题在于,当VS
string cwd = System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetEntryAssembly().Location);
也许这是不可能的?
也许我需要编写一个DAL,这是我计划要做的-只是现在想要一个快速的解决方案,如果有的话。将应用程序的启动路径与预期的文件名结合起来:
string filename = System.IO.Path.Combine(Application.StartupPath, "datafile.db");
这将包括运行可执行文件的路径。
然后,可以使用此文件名变量作为SQLiteConnection对象的数据库属性:
System.Data.SQLite.SQLiteConnection conn = new System.Data.SQLite.SQLiteConnection();
// ... your connection setup code here
conn.Database = filename;
更新:要通过代码绑定网格,请参阅。它适用于MSSQL,但SQLite从数据命名空间类继承到对象是可互换的。是的,但问题是我通过VS GUI绑定到db,因此访问db的所有代码都是自动生成的-我自己不写。如果更改生成的代码,重新编译时就可以了,但当您重新运行GUI的连接向导时,它将被覆盖。不幸的是,唯一的解决办法是通过代码建立连接。我推荐它,你会学到更多,值得你花时间:-)