向数据库添加记录总是异常?!
Access数据库sample.mdb只含一个表User,User结构如下:id 自动编号
name 文本
C#程序如下:
using System;
using System.Data;
using System.Data.OleDb;
class Hello
{
static void Main()
{
String connString = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source = sample.mdb";
String queryString = "SELECT * FROM [User]";
using(OleDbConnection conn = new OleDbConnection( connString ))
{
OleDbDataAdapter mdbAdapter = new OleDbDataAdapter(queryString, conn);
DataSet ds = new DataSet();
conn.Open();
mdbAdapter.Fill(ds, "User");
DataRow dr = ds.Tables[ "User" ].NewRow();
dr[ "name" ] = "k";
ds.Tables[ "User" ].Rows.Add( dr );
mdbAdapter.Update(ds, "User"); }
}
}
异常信息:
未处理的异常: System.InvalidOperationException: 当传递具有新行的 DataRow 集合时
,更新要求有效的 InsertCommand。
在 System.(RowUpdatedEventArg
s rowUpdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount)
在 System.(RowUpdatedEventArgs rowU
pdatedEvent, BatchCommandInfo[] batchCommands, Int32 commandCount)
在 System.(DataRow[] dataRows, DataTableMappi
ng tableMapping)
在 System.(DataTable dataTable,
DataTableMapping tableMapping)
在 System.(DataSet dataSet, String srcTable)
在 Hello.Main()