插入查询已成功运行,但数据未插入数据库(C#)

插入查询已成功运行,但数据未插入数据库(C#),c#,oledb,C#,Oledb,考虑到它是Ole,我猜这是Access——一个基于文件的数据库。insert正在成功运行,但查找时在数据库中找不到数据 您需要了解,通常使用access db的BA probe t会有多个db副本,但最相关的副本可能如下所示: public partial class Form1 : Form { OleDbConnection connection = new OleDbConnection(check.Properties.Settings.Default.KitchenConnec

考虑到它是Ole,我猜这是Access——一个基于文件的数据库。insert正在成功运行,但查找时在数据库中找不到数据

您需要了解,通常使用access db的BA probe t会有多个db副本,但最相关的副本可能如下所示:

public partial class Form1 : Form
{
    OleDbConnection connection = new OleDbConnection(check.Properties.Settings.Default.KitchenConnectionString);

    public Form1()
    {
        InitializeComponent();
    }

    private void btn_add_Click(object sender, EventArgs e)
    {
        OleDbDataAdapter items = new OleDbDataAdapter();
        connection.Open();

        OleDbCommand command = new OleDbCommand("insert into Sets(SetId, SetName,  SetPassword) values('"+txt_id.Text+ "','" + txt_setname.Text + "','" + txt_password.Text + "');", connection);
        command.CommandType = CommandType.Text;

        command.ExecuteReader();

        connection.Close();

        MessageBox.Show("Inserted!");
    }
}
第一个是您在解决方案资源管理器中看到的数据库。第二个可能是在每次运行构建时,或者每次单击“在VS中播放”时,都放在调试exe旁边。第二个可能是程序插入的db

您可能在错误的数据库中查找数据,或者每次运行程序时,构建过程都会通过在数据库顶部复制空数据库(第一个数据库)来擦除更改

运行应用程序,插入数据,不退出应用程序,在整个项目文件夹中搜索数据库文件的所有实例。看看所有这些。您可能会找到您的数据

  • 右键单击解决方案资源管理器中的db文件,选择“属性”,然后将复制操作更改为“复制(如果更新)”

现在,如果您对源数据库进行了更改,构建过程只会删除调试文件夹中的数据库,例如向其添加一个表等

您可以显示所使用的连接字符串吗?请阅读-您需要提高SQL技能,决不能再像这里这样编写SQL;我们解雇了这样做的开发人员,因为这是一个非常重要的问题,jps现在删除的答案提出了一个有效的观点:只对返回数据的查询使用ExecuteReader。对不使用
命令的查询使用ExecuteOnQuery.ExecuteOnQuery()
@Steve OleDbConnection connection=新的OleDbConnection(WindowsFormsApplication1.Properties.Settings.Default.KitchenConnectionString);我输入数据,不退出应用程序并在两个DB文件中搜索该数据,但我找不到输入的数据。发布连接字符串设置(项目菜单、属性、设置)的实际值。确定确定我得到了值,请告诉我如何更改复制操作。❤️我在你需要的建议旁边放了一个点,在我的回答的底部我也做了同样的操作,但在属性面板中我只找到了“提供者”、“状态”、“类型”、“版本”、“连接字符串”值。但找不到“复制操作”选项。我正在使用VS 2015。
C:\myprojects\windowsapp1\your.accdb 
C:\myprojects\windowsapp1\bin\debug\your.accdb