【发布时间】:2011-03-21 01:30:31
【问题描述】:
我的 DataSet 无法正常工作。
我在后台有一个 MDB 数据库,并从中创建了一个数据集。现在我创建了一个新方法,让我可以在表中创建一个新用户。
但是当我调用它时,什么也没有发生。没有例外,没有错误,我什至得到“1”作为受影响的行数返回。但是当我查看数据库时,没有添加任何用户。
我有一种感觉,我想以某种方式告诉 DataSet 我想操作数据库本身,而不仅仅是内部 DataSet……我该如何实现呢?
// DataSet1 uses the connection to the Database.mdb
// Created by the Designer
// The Users table has 3 columns, id, name and password
DataSet1 set = new DataSet1();
UsersTableAdapter adap = new UsersTableAdapter();
DataSet1.UsersRow row = set.Users.AddUsersRow("asd", "asd");
int count = adap.Insert("das", "das");
MessageBox.Show(row.RowState.ToString() + ": " + count.ToString());
count = adap.Update(set.Users);
set.AcceptChanges();
MessageBox.Show(row.RowState.ToString() + ": " + count.ToString());
// The Messagebox shows: "Added: 1"
// The second one: "Unchanged: 1"
MessageBox.Show(set.Users.Rows.Count.ToString());
// Returns "2"...
【问题讨论】:
-
你能发布一些DataSet插入方法的示例代码并调用它吗?
-
其实没什么可看的,我在 Data.xsd 的设计器中创建了该方法作为适配器的查询,并在发生事件时调用它。事件被触发,我检查了,值不为空也不为 null ...
-
如果内存够用,您需要在
DataSet或关联的适配器上调用Update。 -
这样做了,什么都没发生...
标签: c# ms-access dataset oledb