internal string CreateBulkInsertStatement(ITableData data, string tableName) { _sb.Clear(); GetSourceAndDestColumNames(data); AppendBeginSql(tableName); while (data.Read()) { List <string> values = new List <string>(); foreach (string destColumnName in DestColumnNames) { int colIndex = data.GetOrdinal(destColumnName); string dataTypeName = data.GetDataTypeName(colIndex); if (data.IsDBNull(colIndex)) { values.Add(NullValueSql(destColumnName)); } else { values.Add(ValueSql(destColumnName, data.GetString(colIndex))); } } AppendValueListSql(values, data.NextResult()); } AppendEndSql(); return(_sb.ToString()); }
private void AddNonNullValue(ITableData data, List <string> values, string destColumnName, int colIndex) { if (UseParameterQuery) { values.Add(CreateParameterWithValue(data.GetValue(colIndex))); } else { string value = data.GetString(colIndex).Replace("'", "''"); string valueSql = IsAccessDatabase ? $"'{value}' AS {destColumnName}" : $"'{value}'"; values.Add(valueSql); } }