C#连接SQLite数据库:相对路径更新异常问题求助
问题描述
我正在开发一个记录Windows程序使用时长的简易Windows应用,刚接触C#,希望最终能输出类似以下格式的记录:
discord:60min valorant:90min etc
当前使用SQLite存储数据,代码如下:
using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.Data.SQLite; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace SqliteDatabase1 { /// <summary> /// Interaction logic for MainWindow.xaml /// </summary> public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); //createTable(); addrow(); } static void createTable() { string db = "Data Source=demo.db"; SQLiteConnection cnn = new SQLiteConnection(db); cnn.Open(); string tbl = "CREATE TABLE Program (id integer primary key, Name varchar(20));"; SQLiteCommand command = new SQLiteCommand(tbl, cnn); command.ExecuteNonQuery(); cnn.Close(); } public void addrow() { string db = "Data Source=.\\demo.db"; using (var connection = new SQLiteConnection(db)) { connection.Open(); string cmd = "insert into names (name, id) values ('idf if itw worked', 7);"; SQLiteCommand command = new SQLiteCommand(cmd, connection); command.ExecuteNonQuery(); } } } }
遇到的路径问题
- 使用绝对路径(例如
D:\...\Demo.db)时,项目根目录的原数据库和bin目录下生成的数据库都会被更新; - 使用相对路径(如
Data Source=demo.db或Data Source=.\\demo.db)时,只有bin目录下的数据库会被更新,项目根目录的原数据库无变化。
内容的提问来源于stack exchange,提问作者MATRIX-369
相关产品推荐
相关产品推荐

