private static void WriteTable(string tableName,DataTable dataTable)
{
string connectionString = string.Format("Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0}", databaseFilePath);
using (OleDbConnection connection = new OleDbConnection(connectionString))
{
connection.Open();
StringBuilder columnsStringBuilder = new StringBuilder();
foreach(DataColumn column in dataTable.Columns)
{
columnsStringBuilder.Append(column.ColumnName);
columnsStringBuilder.Append(",");
}
columnsStringBuilder.Remove(columnsStringBuilder.Length - 1, 1);
string columns= columnsStringBuilder.ToString();
foreach (DataRow dataRow in dataTable.Rows)
{
StringBuilder valuesStringBuilder = new StringBuilder();
foreach (DataColumn column in dataTable.Columns)
{
valuesStringBuilder.Append(string.Format("@Value{0},", dataTable.Columns.IndexOf(column)));
}
valuesStringBuilder.Remove(valuesStringBuilder.Length - 1, 1);
string values = valuesStringBuilder.ToString();
OleDbCommand command = new OleDbCommand(string.Format("INSERT INTO {0} ({1}) VALUES ({2})", tableName, columns, values), connection);
foreach (DataColumn column in dataTable.Columns)
{
int columnIndex = dataTable.Columns.IndexOf(column);
command.Parameters.AddWithValue(string.Format("@Value{0},", columnIndex), dataRow[columnIndex]);
}
command.ExecuteNonQuery();
}
}
}
C# DataTable写OleDB数据库
于 2023-10-17 15:35:16 首次发布