从SQL服务器dynamic插入单个logging到MS访问

我有两个数据库(SQlserver和MS Access)具有相同的模式(相同的表)。 SQL服务器数据库有数据但Access没有数据(空白数据库)。

我的目标是:当用户inputClientId并单击插入button,然后我需要从SQL Server数据库中的所有表中检索单个logging,并插入MS Access数据库中的表。

实现:我从客户端ID的SQL服务器数据库中的所有表retrov并将数据存储在数据集中。

问题:插入访问表?

我有表数组,我循环通过arrays中的所有表,并试图从上面的数据集dynamic插入到Ms Access中的数据。

你能build议如何在循环中dynamic插入所有表的Access。 我不能为每个表插入语句。 我需要一个通用的每个表,所以我会通过parametrs。 它不是一个批量插入,其单个logging推入多个表。

——-这是我的代码————————————— —————-

private void InsertMsiClientIntoTest(string ClientId) { SqlConnection sqlConnection = null; SqlDataAdapter sqlDataAdapter = null; DataSet sqlserverDataset = new DataSet(); sqlserverDataset.Tables.Add(); sqlConnection = new SqlConnection(); sqlConnection = new SqlConnection("Data Source=THINK;Initial Catalog=" + dbName + ";Integrated Security=True;"); sqlConnection.Open(); sqlDataAdapter = new SqlDataAdapter(ClientSQL.PopulateTables, sqlConnection); sqlDataAdapter.SelectCommand.Parameters.AddWithValue("@ClientId", cmbId.Text); sqlDataAdapter.Fill(sqlserverDataset); GetDataFromTablesForID(sqlserverDataset); InsertAllTableDataIntoAccess(sqlserverDataset,tableArray); } private DataSet GetDataFromTablesForID(DataSet dsTablesList) { SqlConnection sqlConnection = null; SqlDataAdapter sqlDataAdapter = null; string tableName = string.Empty; string QueryText = string.Empty; int i =0; tableArray = new string[dsTablesList.Tables[0].Rows.Count]; DataSet sqlserverDataset = new DataSet(); sqlserverDataset.Tables.Add(); sqlConnection = new SqlConnection(); sqlConnection = new SqlConnection("Data Source=THINK;Initial Catalog=" + dbName + ";Integrated Security=True;"); sqlConnection.Open(); foreach (DataRow itemRow in dsTablesList.Tables[0].Rows) { tableArray[i] = itemRow[0].ToString(); i++; } foreach (string tableItem in tableArray) { tableName = tableItem; QueryText = "select x.* from" + " " + tableName + " " + "x inner join ClientMajor ci on ci.ClientId = x.ClientId where ci.MajorClientId =@ClientId"; } sqlDataAdapter = new SqlDataAdapter(QueryText, sqlConnection); sqlDataAdapter.SelectCommand.Parameters.AddWithValue("@ClientId", cmbExceedId.Text); sqlDataAdapter.Fill(sqlserverDataset); } return sqlserverDataset; } private void InsertAllTableDataIntoAccess(DataSet Inputset, string[] tableArray) { string connectionstring = System.Configuration.ConfigurationManager.ConnectionStrings["mdb"].ToString(); OleDbConnection oledbConnection = null; OleDbDataAdapter oledbDataAdapter = null; DataSet resultSet = new DataSet(); oledbConnection = new OleDbConnection(connectionstring); oledbConnection.Open(); foreach (string tableItem in tableArray) { //????????? I NEED THE FOLLOWING CODE......////////////??????? oledbDataAdapter.InsertCommand.CommandText="insert into " oledbDataAdapter.Fill(resultSet.Tables[0]); } } 

提前致谢…