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

Delphi - TSQLQuery meninggalkan proses di MySQL bahkan setelah dibebaskan

Jangan membuat ulang koneksi Anda lagi dan lagi, atau kueri Anda. Gunakan parameter untuk kueri; buka koneksi sekali, isi parameter kueri, jalankan, tutup kueri (tetapi bukan koneksi), isi kembali parameter kueri, dan jalankan lagi.

Kira-kira seperti ini (menggunakan Advantage Database Server, tetapi konsepnya sama):

// Both Create() calls should be followed by try..finally to ensure they're 
// cleaned up after. Omitted for brevity.
Conn := TAdsConnection.Create(nil);
// Configure connection parameters here
Conn.Open;

Qry := TAdsQuery.Create(nil);
Qry.AdsConnection := Conn;
Qry.SQL.Add('INSERT INTO SOMETABLE (COL1, COL2, COL3)');
Qry.SQL.Add('VALUES (:COL1, :COL2, :COL3)');
while not OtherTable.Eof do
begin
  Qry.ParamByName('COL1').AsInteger := OtherTable.FieldByName('COL1').AsInteger;
  Qry.ParamByName('COL2').AsString := OtherTable.FieldByName('COL2').AsString;
  Qry.ParamByName('COL3').AsDateTime := OtherTable.FieldByName('COL3').AsDateTime;
  Qry.ExecSQL;
  Qry.Close;
  OtherTable.Next;
end;
// Free query
Conn.Close;
// Free connection.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kesalahan MySQL:#1142 - perintah SELECT ditolak untuk pengguna

  2. Menghubungkan tabel ketiga ke tabel jembatan dalam asosiasi banyak ke banyak

  3. Buat login situs web juga berfungsi di WordPress

  4. Mengelola Database MySQL di cPanel dengan PHPMyAdmin

  5. Cara Mengimpor Database MySQL di Baris Perintah