我搞砸了SQL Lite并学习它。SQLite不保存我插入的数据
我有一个名为People表,我得到了一些方法连接到数据库,并做一些东西,像显示所有的信息。
现在我试图插入一些数据,在这里它变得奇怪了。我有这样的方法:
private void ExecuteQuery(string txtQuery)
{
SetConnection();
sql_con.Open();
sql_cmd = sql_con.CreateCommand();
sql_cmd.CommandText = txtQuery;
sql_cmd.ExecuteNonQuery();
sql_con.Close();
}
,看看我有这种方法的所有数据:
private void LoadData()
{
SetConnection();
sql_con.Open();
sql_cmd = sql_con.CreateCommand();
string CommandText = "SELECT * FROM People";
DB = new SQLiteDataAdapter(CommandText, sql_con);
DS.Reset();
DB.Fill(DS);
DT = DS.Tables[0];
dataGridView1.DataSource = DT;
sql_con.Close();
}
当我插页一些数据和右afther它,我称之为LoadData()
,我可以看到所有我所做的改变。
后,我关闭该程序,然后打开它agian并调用LoadData()
,我没有看到,我之前插入新的信息。
我得到了一些数据,我使用SQL lite GUI应用程序来插入,并且每次调用LoadData()
方法时都可以看到该数据,但不是我的。
我需要做其他的财产以后,以确保SQL精简版保存所有的数据?
编辑:这是我如何插入数据,mybee问题是从这里?
string insetCommand = "INSERT INTO People Values(2,'" + textBox1.Text + "')";
EDIT2:我的connectionString方法
public static string connectionString
{
get
{
string database =
//AppDomain.CurrentDomain.BaseDirectory + "..\\..\\Database\\ImageLib.s3db";
AppDomain.CurrentDomain.BaseDirectory + "\\DataBase\\myTable2";
string connectionString =
@"Data Source=" + Path.GetFullPath(database) + ";Version=3;";
return connectionString;
}
}
任何机会,你有SQLite数据库作为Visual Studio项目的一部分吗? – Gigi
我不知道我明白了,我该如何检查它? – samy
您应该在某处使用.db3文件(或等效文件)。这是包含在VS解决方案中,还是只是将其作为单独的文件加载? – Gigi