const string QUERY = "INSERT INTO contacts (first_name,last_name) VALUES" +
BuildQuery(c, contacts);
public string BuildQuery(MySQLCommand c, IEnumerable<contact> contacts)
{
List<string> values = new List<string>();
string query = null;
int i = 0;
foreach (var contact in contacts)
{
i++;
query += "(@firstName" + i + ", @lastName" + i + ")";
c.Parameters.AddWithValue("@firstName" + i, contact.first_name);
c.Parameters.AddWithValue("@lastName" + i, contact.last_name);
if(i < contacts.Count)
query += ",";
}
return query
}
Můžete vidět příslušné vlákno zde
! Musel jsem přehlédnout něco triviálního, ale pro vás je triviální to opravit. Samozřejmě víte, co se stane, když contacts
nemá žádné prvky. Nevidím více okrajových případů. Btw, pamatujte, že existuje limit, kolik takových parametrů můžete přidat v závislosti na maximální povolené velikosti paketu mysql. Můžete to změnit, nebo se postarat o to, abyste tento limit nepřekročili. Na zdraví! :)