Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#:将DataGridView绑定到应用程序目录中的数据库文件_C#_Winforms_Sqlite_Datagridview - Fatal编程技术网

C#:将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

我目前有一个DataGridView绑定到“c:\temp”中的sqlite数据库。我使用VS2008 GUI绑定它。我希望它绑定到运行应用程序的任何目录中的数据库。我可以看到路径被硬编码为“c:\temp\myapp.db”的位置,但是如果我在生成的代码中更改它,我想重新编译时它会被覆盖吗

如何设置它,使DataGridView连接到应用程序所在目录中的sqlite db文件

我对Winforms编程非常陌生,因此非常感谢逐步详细介绍

更新

我想我知道如何获得cwd(见下文);问题在于,当VS生成db访问代码时,让DataGridView使用它

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的连接向导时,它将被覆盖。不幸的是,唯一的解决办法是通过代码建立连接。我推荐它,你会学到更多,值得你花时间:-)