更改"复制到输出目录"时出错来自"永远复制"到#34;不要复制"

时间:2015-03-02 16:50:04

标签: c#

我试图从我的c#应用程序中保存数据库中的数据。我通过项目属性在资源中添加了我的数据库,复制了我的代码中生成的字符串,并将"复制到输出目录"来自"永远复制"到"不要复制"。当我运行程序时,它给了我这个错误:

无法找到文件' F:\ Prova \ Prova \ bin \ Debug \ Resources \ Student.accdb'

但文件就在那里。

任何帮助?

private void button1_Click(object sender, EventArgs e)
{
    OleDbConnection connection = new OleDbConnection();
    connection.ConnectionString = @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\Resources\Student.accdb;Persist Security Info=True";

    connection.Open();

    OleDbCommand command = new OleDbCommand();

    command.Connection = connection;

    command.CommandText = "INSERT INTO Student(Student_ID, First_Name) VALUES ('" + textBox1.Text + "','" + textBox2.Text + "')";

    command.ExecuteNonQuery();

    MessageBox.Show("Data saved");

    connection.Close();
}

1 个答案:

答案 0 :(得分:1)

我的通灵调试功能告诉我您在源代码文件中检查了Student.accdb,但是您没有在编译项目实际所在的二进制文件中检查它。

我建议将以下路径完全复制到Windows资源管理器中,看看Student.accdb是否确实在那里。不要走整条路。

F:\Prova\Prova\bin\Debug\Resources

如果您不希望在构建时覆盖该文件,最佳解决方案是将Do Not Copy更改为Copy if Newer