Bạn có thể chèn nhiều hàng bằng cách sử dụng một câu lệnh SQL như sau:
INSERT INTO myTable (col1, col2, col3) VALUES ('myval1', 'myval2', 'myval3'), ('myotherval1', 'myotherval2', 'myotherval3'), ('anotherval1', 'anotherval2', 'anotherval3');
Cập nhật:
MarkR đã đúng trong nhận xét của anh ấy - nếu bạn đang thu thập dữ liệu từ một người dùng hoặc bạn đang biên dịch thông tin, bạn có thể tạo truy vấn động bằng những thứ như:
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();
Hai điểm quan trọng cần lưu ý:
- Nếu bạn đang chấp nhận thông tin đầu vào từ người dùng, điều này rất quan trọng để khử trùng tất cả các đầu vào của người dùng, nếu không người dùng độc hại có thể sửa đổi / xóa / bỏ toàn bộ cơ sở dữ liệu của bạn. Để biết thêm thông tin, hãy google "Thuốc tiêm SQL".
- Tôi đang sử dụng lớp StringBuilder, thay vì sử dụng một chuỗi nguyên thủy và chỉ đơn giản là thêm vào (ví dụ:string s ="Insert ..."; s + ="blah blah blah") vì StringBuilder nhanh hơn trong việc nối thêm, bởi vì nó không được coi là một mảng và do đó không cần phải thay đổi kích thước khi bạn thêm vào nó.