Anda dapat menyisipkan beberapa baris menggunakan satu pernyataan SQL seperti:
INSERT INTO myTable (col1, col2, col3) VALUES ('myval1', 'myval2', 'myval3'), ('myotherval1', 'myotherval2', 'myotherval3'), ('anotherval1', 'anotherval2', 'anotherval3');
Pembaruan:
MarkR benar dalam komentarnya - jika Anda mengumpulkan data dari pengguna, atau mengumpulkan informasi, Anda dapat membuat kueri secara dinamis dengan sesuatu seperti:
StringBuilder stringBuilder = new StringBuilder();
stringBuilder.Append("INSERT INTO myTable (col1, col2, col3) VALUES ");
for(int i=0;i<myDataCollection.Count;i++) {
stringBuilder.Append("(" + myDataCollection[i].Col1 + ", " + myDataCollection[i].Col2 + ", " + myDataCollection[i].Col3 + ")");
if (i<myDataCollection.Count-1) {
stringBuilder.Append(", ");
} else {
stringBuilder.Append(";");
}
}
string insertStatement = stringBuilder.ToString();
Dua poin penting yang perlu diperhatikan:
- Jika Anda menerima masukan dari pengguna, itu sangat penting untuk membersihkan semua input pengguna, jika tidak, pengguna jahat dapat memodifikasi/menghapus/menjatuhkan seluruh database Anda. Untuk info lebih lanjut, google "Injeksi SQL."
- Saya menggunakan kelas StringBuilder, daripada menggunakan string primitif dan hanya menambahkan (mis. string s ="Insert..."; s+="blah blah blah") karena StringBuilder lebih cepat dalam menambahkan, karena itu tidak diperlakukan sebagai array, dan karenanya tidak perlu mengubah ukurannya sendiri saat Anda menambahkannya.