Как скопировать данные из таблицы данных в таблицу базы данных?
Я работаю над приложением, в котором я хочу создать таблицу с данными из таблицы данных.
Сценарий это:
- Пользователь выбирает таблицу и данные заполняются в DataTable
- На основе схемы DataTable я создаю таблицу во временной базе данных (эта база данных может быть SQL Server, Oracle (определяется пользователем)).
- После создания таблицы я хочу скопировать данные из DataTable во временную таблицу
Мой код:
using (OleDbConnection con = new OleDbConnection(localConnString))
{
try
{
con.Open();
List<string> col = new List<string>();
StringBuilder sb = new StringBuilder();
StringBuilder insertQuery = new StringBuilder();
insertQuery.Append("Insert INTO " + tableName + " Values(");
foreach (DataRow row in dtSchema.Rows)
{
string type = getColumnType(row.Field<object>("DataType").ToString());
string column ="["+ row.Field<string>("ColumnName").ToString() + "] " + type;
col.Add(column);
}
sb.Append(string.Join(",", col));
string createTableQuery = "CREATE TABLE ["+tableName+"] (" + sb.ToString().Trim() + ")";
OleDbCommand command = new OleDbCommand(createTableQuery, con);
command.ExecuteNonQuery();
con.Close();
// Code to copy data from DataTable to temp table
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
Я хочу использовать что-то вроде SqlBulkCopy
, но я использую OLEDB.
Любая помощь будет заметна.