C# adapter.update未写入access
有人能告诉我为什么下面的代码不会将数据提交到access数据库表吗 如果我查看dtAccess数据表,它会正确显示我希望写入Access的内容,但当我访问并查看该表时,没有写入任何内容C# adapter.update未写入access,c#,ms-access,dataset,C#,Ms Access,Dataset,有人能告诉我为什么下面的代码不会将数据提交到access数据库表吗 如果我查看dtAccess数据表,它会正确显示我希望写入Access的内容,但当我访问并查看该表时,没有写入任何内容 OleDbConnection myConnection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\"C:\\Database.accdb\";Persist Security Info=False;"); str
OleDbConnection myConnection = new OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0;Data Source=\"C:\\Database.accdb\";Persist Security Info=False;");
string queryString = "SELECT * from " + lblTable.Text;
//OleDbDataAdapter adapter = new OleDbDataAdapter(queryString, myConnection);
OleDbDataAdapter adapter = new OleDbDataAdapter();
DataTable dtAccess = new DataTable();
DataTable dtCSV = new DataTable();
dtCSV = ds.Tables[0];
// OleDbCommand cmd = new OleDbCommand("INSERT INTO " + lblTable.Text + "(ASIN) VALUES (1234)", myConnection); //this command works when used with cmd.executenonquery();
adapter.SelectCommand = new OleDbCommand("SELECT * from " + lblTable.Text, myConnection);
adapter.InsertCommand = new OleDbCommand("INSERT INTO " + lblTable.Text + " ([ASIN], [MAP Retail], [Style Number], [MSRP Retail]) VALUES (?,?,?,?)", myConnection);
myConnection.Open();
adapter.Fill(dtAccess);
dtAccess.Merge(dtCSV);
adapter.Update(dtAccess);
myConnection.Close();
在合并操作之后,您是否检查了dataTable中是否有新的或修改的行?Access表是否也有主键?Access中的表为空,并且有一个作为主键的自动增量字段。