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());
 }
Beispiel #2
0
 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);
     }
 }