-1

I am trying this code to add new row to database, the new row is saved but when I close the program down, reopen it, the row has disappeared.

private void Dep_Add_Click(object sender, EventArgs e)
{
   try
   {
       SqlCommandBuilder cb = new SqlCommandBuilder(Dep_da);

       DataRow dRow = Dep_ds.Tables["Department"].NewRow();
       dRow[1] = Dep_Name.Text;
       Dep_ds.Tables["Department"].Rows.Add(dRow);

       Dep_MaxRows = Dep_MaxRows + 1;
       Dep_inc = Dep_MaxRows - 1;

       Dep_da.Update(Dep_ds,"Department");
   }
   catch (Exception exceptionObject)
   {
      MessageBox.Show(exceptionObject.Message);
   }

So I hope someone can help me

4

3 回答 3

1

您已经在这里问过这个问题,尽管代码略有不同。

我为您回答了您之前的问题 - 使用 SqlDataAdapter.Update 命令。你在这里这样做,但你没有发布你的其余代码,所以我不知道你是否改变了任何东西。

于 2011-07-02T20:27:39.717 回答
1

您没有提供太多上下文信息,所以这有点猜测......

如果您从 Visual Studio 内部执行此操作,并且正在写入本地(附加)数据库,那么每次执行程序时,本地数据库都会从您的项目复制到您的 bin 文件夹,因此您开始每次执行数据库的相同副本,覆盖上次执行中修改的数据库。

您应该能够通过从资源管理器或命令行运行 exe 来测试是否是这种情况。

于 2011-07-02T20:24:45.453 回答
0

您可能会调用 DataSet.Tables[0].AcceptChanges() 方法?

于 2011-07-04T06:56:31.250 回答