我想使用以下代码在msaccess表中插入一个新行。
class MachineDataTable : DataTable
{
public MachineDataTable()
{
Columns.Add(new DataColumn("ID", typeof(int)));
Columns.Add(new DataColumn("Name", typeof(string)));
PrimaryKey = new DataColumn[] { Columns["ID"] };
}
...
}
以下代码按预期工作:
da.ExecuteNonQuery(@"CREATE TABLE Machine (
ID LONG NOT NULL,
Name TEXT NOT NULL
)");
使用以下命令创建DataAdapter InsertCommand:
DbCommand cmd = connection.CreateCommand();
cmd.CommandText = "Machine";
cmd.CommandType = CommandType.TableDirect;
da.InsertCommand = cmd;
然后我尝试插入一行。
MachineDataTable table = new MachineDataTable();
DataRow row = table.NewRow();
row["ID"] = 1234;
row["Name"] = "Name";
table.Add(row);
int n = da.Update(table);
//n == 1
Update调用返回1(行更新),没有异常。 当我使用MsAccess查看数据库时,没有插入行。