我正在使用SQL Server Compact数据库使用.NET 4.5和C#。
这是我正在使用的插入命令:
try
{
conn.Open();
String query = "INSERT INTO categories (cat_title) VALUES (@cat_title)";
SqlCeCommand cmd = new SqlCeCommand(query, conn);
cmd.Parameters.AddWithValue("@cat_title", cat_title);
cmd.ExecuteNonQuery();
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
}
finally
{
conn.Close();
}
执行此操作后,我立即从表中获取结果以填充组合框。我可以看到新添加的项目。
但是,当我返回数据库资源管理器时,项目不在那里。如果我再次运行该应用程序,我可以看到我添加的项目。
如果我从数据库资源管理器中刷新dB,则应用程序中不再显示结果。
我这样做了吗?为什么结果会这样?
答案 0 :(得分:0)
@marc_s和@ ta.speot.is是正确的,但对于那里的其他新手,我想我也可能会插话。
您在资源管理器中看到的数据库正在读取.sdf文件的不同实例,而不是您的连接字符串引用的文件。当您的连接字符串连接到bin / debug /文件夹中的.sdf文件时,资源管理器可能正在从您的主项目目录中读取.sdf文件。如果是这种情况,每次程序运行时,连接字符串引用的.sdf文件都将被覆盖。