Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara membuat kueri yang aman untuk melakukan penyisipan massal di MySQL menggunakan MySQLCommand di C# tanpa menggunakan proc yang tersimpan?

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
}

Anda dapat melihat utas yang relevan di sini !. Saya pasti melewatkan sesuatu yang sepele, tetapi itu sepele untuk Anda perbaiki. Tentu Anda tahu apa yang terjadi jika contacts tidak memiliki elemen. Saya tidak melihat lebih banyak kasus tepi. Btw, ingatlah bahwa ada batasan berapa banyak parameter yang dapat Anda tambahkan tergantung pada ukuran paket maksimum yang diizinkan mysql. Anda dapat mengubahnya, atau menjaga agar tidak melebihi batas itu. Bersulang! :)



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tipe data mysql terbaik untuk gram, miligram, mikrogram, dan kilojoule

  2. 2 Cara Mengembalikan Baris yang Hanya Mengandung Karakter Non-Alfanumerik di MySQL

  3. koneksi database tidak berfungsi di toples, tetapi berfungsi di Eclipse

  4. Memesan item dengan tag yang cocok dengan jumlah tag yang cocok

  5. Aplikasi pegas kehilangan koneksi ke MySql setelah 8 jam. Bagaimana cara mengkonfigurasi dengan benar?