C# 数据库isn';t更新

C# 数据库isn';t更新,c#,sql,database,sql-update,tableadapter,C#,Sql,Database,Sql Update,Tableadapter,我正在尝试将一些数据写入只有一个表的.MDF数据库中,在执行这部分代码后,该数据库不会更新: DatabaseDataSet.MyTableRow newRow; newRow = databaseDataSet.MyTable.NewMyTableRow(); newRow.name = "x"; newRow.level = 100; newRow.health = 100; newRow.wea

我正在尝试将一些数据写入只有一个表的.MDF数据库中,在执行这部分代码后,该数据库不会更新:

        DatabaseDataSet.MyTableRow newRow;
        newRow = databaseDataSet.MyTable.NewMyTableRow();
        newRow.name = "x";
        newRow.level = 100;
        newRow.health = 100;
        newRow.weapon = "club";
        this.databaseDataSet.MyTable.Rows.Add(newRow);

        int result = MyTableTableAdapter.Update(databaseDataSet.MyTable);
        MessageBox.Show(result.ToString());
我对在C#中使用SQL数据库还不熟悉


我正在使用
TableAdapter.Update
来更新数据库中的
MyTable
表,我甚至尝试编写自己的更新查询版本,我也尝试使用
MyTableAdapter.insert
函数…但没有结果。我可以成功地从数据库中读取数据,但在写入数据时,我很难成功。

更新(插入和删除)只会修改表适配器的本地客户端视图,您必须保存更改才能将其提交到数据库。

我猜您在项目中使用的是压缩SQL数据库?
这意味着无论程序在哪里运行,都将创建一个数据库文件。
因此,如果您在调试模式下运行,您将在bin/Debug文件夹中获得一个数据库。在发布模式下运行它,您将在bin/Release文件夹中的一个完全不同的数据库上工作。运行安装的版本,它将再次成为不同的数据库文件


当我用一个紧凑的SQL数据库构建我的第一个.net程序时,我很快就发现了这一点,需要知道的重要一点是,整个数据库都位于一个文件中,该文件通常与正在运行的程序位于同一目录中。始终牢记这一事实,像这样的许多小问题都不会影响你。

你能再次检查你的MDF文件(或包含该文件的文件夹)是否具有写入权限吗?你是否调用了SaveChanges()或类似的东西?我检查过了,没有一个MDF是只读的,这意味着我有权更改它们。另外,我没有调用SaveChanges()或类似的任何东西。我想,更新应该只在数据库中进行更改。你怎么知道你肯定没有向数据库中写入内容?我当时问的时候就解决了。有点。。。它更新了数据库的副本。如果我从debug文件夹启动程序,它会很有魅力,但从visualstudio它不会显示出来。我想我没有很好地连接到数据库或其他什么。之后,我想我通过连接字符串连接到了数据库。