Einzelnen Beitrag anzeigen

Benutzerbild von user0815
user0815

Registriert seit: 5. Okt 2007
331 Beiträge
 
Delphi XE2 Professional
 
#1

Batch insert - ValueCount unbekannt

  Alt 1. Dez 2016, 11:42
Datenbank: MariaDB • Version: 10.1.13 • Zugriff über: UniDAC
Einfach mal abkopiert... http://blog.devart.com/using-batch-o...omponents.html

Batch INSERT operation sample

Delphi-Quellcode:
var
  i: Integer;
begin
  // describe the SQL query
  Query1.SQL.Text := 'INSERT INTO BATCH_TEST VALUES (:ID, :F_INTEGER, :F_FLOAT, :F_STRING, :F_DATE)';
 
  // define the parameter types passed to the query :
  Query1.Params[0].DataType := ftInteger;
  Query1.Params[1].DataType := ftInteger;
  Query1.Params[2].DataType := ftFloat;
  Query1.Params[3].DataType := ftString;
  Query1.Params[4].DataType := ftDateTime;
 
  // specify the array dimension:
  Query1.Params.ValueCount := 1000;
 
  // populate the array with parameter values:
  for i := 0 to Query1.Params.ValueCount - 1 do begin
    Query1.Params[0][i].AsInteger := i + 1;
    Query1.Params[1][i].AsInteger := i + 2000 + 1;
    Query1.Params[2][i].AsFloat := (i + 1) / 12;
    Query1.Params[3][i].AsString := 'Values ' + IntToStr(i + 1);
    Query1.Params[4][i].AsDateTime := Now;
  end;
 
  // insert 1000 rows into the BATCH_TEST table
  Query1.Execute(1000);
end;
So versuche ich aktuell ein insert auszuführen.
In die uses musste ich zusätzlich zu Uni die Data.DB aufnehmen für den DataType = ftInteger, ftFloat, ftString, ftDateTime

Aber diesen Query1.Params.ValueCount kennt Delphi nicht ?
Was muss ich machen damit es funktioniert ?


Sorry, glaube meine UniDAC Version ist zu alt, lese gerade der Artikel ist vom: September 11th, 2015

Geändert von user0815 ( 1. Dez 2016 um 11:46 Uhr) Grund: Artikeldatum überlesen
  Mit Zitat antworten Zitat