private static string GetInsertStatement(string tableName, DataRow row) { string columns = ""; string values = ""; foreach (DataColumn column in row.Table.Columns) { if (row[column] != DBNull.Value) { if (!string.IsNullOrWhiteSpace(columns)) { columns += ", "; values += ", "; } columns += string.Format("[{0}]", column.ColumnName); dynamic value = row[column]; values += JetSyntaxHelper.ToSqlString(value); } } return(string.Format("INSERT INTO [{0}] ({1}) VALUES ({2})", tableName, columns, values)); }
private static void ReadLastStructureDataTable(IDbConnection connection, string tableName) { _lastTableName = tableName; // This is the standard read column for DBMS string sql = string.Empty; sql += "Select Top 1 "; sql += " * "; sql += "From "; sql += string.Format(" {0} ", JetSyntaxHelper.QuoteIdentifier(_lastTableName)); IDbCommand command = null; IDataReader dataReader = null; try { command = connection.CreateCommand(); command.CommandText = sql; dataReader = command.ExecuteReader(CommandBehavior.KeyInfo); _lastStructureDataTable = dataReader.GetSchemaTable(); } finally { // Exceptions will not be catched but these instructions will be executed anyway if (command != null) { command.Dispose(); } if (dataReader != null) { dataReader.Dispose(); } } }