0

我尝试使用DBDataAdapter.Update 方法中的代码示例来清除数据库中的表。

using (SqlConnection connection = new SqlConnection(connectionString))
{
     SqlDataAdapter adapter = new SqlDataAdapter("SELECT * FROM WebCam", connection);
     DataTable table = new DataTable();
     adapter.Fill(table);
     table.PrimaryKey = new DataColumn[] { table.Columns["Date"] };
     //table.Rows[0]["Date"] = System.DateTime.Now; //It's OK to modify a row 
     table.Clear(); //But it is not working to clear the table
     SqlCommandBuilder builder = new SqlCommandBuilder(adapter);
     adapter.Update(table);
}

我可以添加新行或修改现有行,并且可以将更改提交到数据库,但是如果我尝试清空表,则对“表”的更改无法提交到数据库,也不会抛出异常。

我错过了什么吗?

4

1 回答 1

0

你应该在这一行得到错误:

table.PrimaryKey = new DataColumn[] { table.Columns["Date"] };

这意味着您已经在其他地方捕获了异常,可能是从调用函数的地方,并且没有在消息框中显示错误。

另一个原因可能是因为您使用了 Table、a​​dapter 等单词……我猜您可能会重载一些保留字功能。

于 2012-01-05T17:19:08.240 回答