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
}
Sie können einen relevanter Thread hier
!. Ich muss etwas Triviales übersehen haben, aber das ist trivial für dich zu beheben. Natürlich wissen Sie, was bei contacts
passiert hat keine Elemente. Ich sehe keine weiteren Grenzfälle. Übrigens, beachten Sie, dass es eine Begrenzung gibt, wie viele solcher Parameter Sie hinzufügen können, abhängig von der maximal zulässigen Paketgröße von mysql. Sie können es ändern oder darauf achten, dass dieses Limit nicht überschritten wird. Prost! :)