System.Data.SqlClient.SqlCommandBuilder.CreateInsertCommand C# (CSharp) Method

CreateInsertCommand() private method

private CreateInsertCommand ( DataRow row, DataTableMapping tableMapping ) : SqlCommand
row System.Data.DataRow
tableMapping System.Data.Common.DataTableMapping
return SqlCommand
		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;
		}