private SqlCommand CreateInsertCommand (DataRow row, DataTableMapping tableMapping)
{
if (QuotedTableName == String.Empty)
return null;
CreateNewCommand (ref insertCommand);
string command = String.Format ("INSERT INTO {0}", QuotedTableName);
string sql;
StringBuilder columns = new StringBuilder ();
StringBuilder values = new StringBuilder ();
string dsColumnName = String.Empty;
int parmIndex = 1;
foreach (DataRow schemaRow in dbSchemaTable.Rows) {
if (!IncludedInInsert (schemaRow))
continue;
if (parmIndex > 1) {
columns.Append (" , ");
values.Append (" , ");
}
SqlParameter parameter = insertCommand.Parameters.Add (CreateParameter (parmIndex++, schemaRow));
dsColumnName = tableMapping.ColumnMappings [parameter.SourceColumn].DataSetColumn;
if (row != null)
parameter.Value = row [dsColumnName];
columns.Append (GetQuotedString (parameter.SourceColumn));
values.Append (parameter.ParameterName);
}
sql = String.Format ("{0}( {1} ) VALUES ( {2} )", command, columns.ToString (), values.ToString ());
insertCommand.CommandText = sql;
return insertCommand;
}