0

我正在使用 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,结果将不再出现在应用程序中。

我这样做对吗?为什么结果会这样?

4

1 回答 1

0

@marc_s 和 @ta.speot.is 是正确的,但对于其他新手,我想我也可以加入。

您在资源管理器中看到的数据库正在读取 .sdf 文件的另一个实例,而不是您的连接字符串引用的那个。资源管理器可能正在从您的主项目目录中读取 .sdf 文件,而您的连接字符串正在连接到 bin/debug/ 文件夹中的 .sdf 文件。如果是这种情况,您的连接字符串引用的 .sdf 文件将在每次程序运行时被覆盖。

于 2013-12-24T07:29:52.953 回答