Delphi-PRAXiS
Seite 3 von 5     123 45      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Was ist schneller? MySqlDirect oder ueber die .dll? (https://www.delphipraxis.net/163762-ist-schneller-mysqldirect-oder-ueber-die-dll.html)

Valle 14. Okt 2011 16:56

AW: Was ist schneller? MySqlDirect oder ueber die .dll?
 
Zitat:

Zitat von DelTurbo (Beitrag 1130511)
Deswegen frage ich ja, ob es ein kommando gibt, nach dem motto "hier kommen x datensätze". Die könnte er dann in einem rutsch liefern.

Geht das nicht einfach mit mehreren VALUES-Klauseln?

Code:
INSERT INTO bla (...) VALUES (...) VALUES (...) VALUES (...)
Liebe Grüße,
Valentin

DelTurbo 14. Okt 2011 17:10

AW: Was ist schneller? MySqlDirect oder ueber die .dll?
 
Leider nicht. Wäre aber ne coole idee. Ich habe nun alles durch. Angefangen mit deinem vorschlage über nochmaliges INSERT in einer neuen, mit AND usw...

Hier z.b. der Fehler mit AND.

Code:
Fehler
SQL-Befehl:

INSERT INTO FileTable( FileName, NFOTablePTr, FileSize, FileDate, EntryDate, PathTablePtr )
VALUES (

"ddd", 1, 2, 3, 4, 5
)
AND (
FileName, NFOTablePTr, FileSize, FileDate, EntryDate, PathTablePtr
)
VALUES (
"ddd", 1, 2, 3, 4, 5
)

MySQL meldet:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'AND (FileName,NFOTablePTr,FileSize,FileDate,EntryDate,PathTablePtr) VALUES ("ddd' at line 1
Das ist leider dein vorschlag.

Code:
Fehler
SQL-Befehl:

INSERT INTO FileTable( FileName, NFOTablePTr, FileSize, FileDate, EntryDate, PathTablePtr )
VALUES (

"ddd", 1, 2, 3, 4, 5
)
VALUES (
"ddd", 1, 2, 3, 4, 5
)

MySQL meldet:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VALUES ("ddd",1,2,3,4,5)' at line 1

Valle 14. Okt 2011 17:12

AW: Was ist schneller? MySqlDirect oder ueber die .dll?
 
o0

Also eigentlich kenne ich das ohne das "AND (...)", genau wie ich es oben geschrieben habe.

Code:
INSERT INTO FileTable( FileName, NFOTablePTr, FileSize, FileDate, EntryDate, PathTablePtr )
VALUES (
"ddd", 1, 2, 3, 4, 5
)
VALUES (
"ddd", 1, 2, 3, 4, 5
)
Edit:// Waren da schon immer zwei Codeblöcke in deinem Post? :-O

p80286 14. Okt 2011 17:15

AW: Was ist schneller? MySqlDirect oder ueber die .dll?
 
könnte es sein, daß dir " unverdaulich sind? also 'dddd' statt "dddd"

Gruß
K-H

DelTurbo 14. Okt 2011 17:25

AW: Was ist schneller? MySqlDirect oder ueber die .dll?
 
Zitat:

Zitat von Valle (Beitrag 1130521)
Edit:// Waren da schon immer zwei Codeblöcke in deinem Post? :-O

Nein, ich hatte nach dem Post nochmal deins probiert und gepostet ;)

Also an den " oder ´ oder ' kann es nicht liegen. Ich habe den String mal wegelassen.

Code:
Fehler
SQL-Befehl:

INSERT INTO FileTable( NFOTablePTr, FileSize, FileDate, EntryDate, PathTablePtr )
VALUES ( 1, 2, 3, 4, 5 )
VALUES ( 1, 2, 3, 4, 5 )

MySQL meldet:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VALUES (1,2,3,4,5)' at line 1

Valle 14. Okt 2011 17:29

AW: Was ist schneller? MySqlDirect oder ueber die .dll?
 
Es fehlt das Komma nach VALUES:

Code:
INSERT INTO FileTable( NFOTablePTr, FileSize, FileDate, EntryDate, PathTablePtr )
VALUES ( 1, 2, 3, 4, 5 ),
VALUES ( 1, 2, 3, 4, 5 )

DelTurbo 14. Okt 2011 19:08

AW: Was ist schneller? MySqlDirect oder ueber die .dll?
 
Geht leider auchnicht. Ich habe auchschon zig varianten getestet. Leider finde ich auch in google nix. Die frage wäre dann auch noch wie ich für jeden eintrag an die LastInsertID komme. Obwohl, das ist ja ein autoincrement feld. Ich müsste ja dann nur die letzte ID hohlen und dann dementsprechend runterzählen.

Code:
Fehler
SQL-Befehl:

INSERT INTO FileTable( NFOTablePTr, FileSize, FileDate, EntryDate, PathTablePtr )
VALUES ( 1, 2, 3, 4, 5 ) ,
VALUES ( 1, 2, 3, 4, 5 )

MySQL meldet:

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'VALUES ( 1, 2, 3, 4, 5 )' at line 3

Valle 14. Okt 2011 21:12

AW: Was ist schneller? MySqlDirect oder ueber die .dll?
 
So, jetzt aber. Sorry dass ich so auf dem Schlauch stand. Das hier funktioniert definitiv:

SQL-Code:
INSERT INTO `test` (`position`) VALUES (1), (1)


(also nur ein mal Values)

Liebe Grüße,
Valentin

DelTurbo 14. Okt 2011 21:23

AW: Was ist schneller? MySqlDirect oder ueber die .dll?
 
Zitat:

Zitat von Valle (Beitrag 1130569)
So, jetzt aber. Sorry dass ich so auf dem Schlauch stand. Das hier funktioniert definitiv:

SQL-Code:
INSERT INTO `test` (`position`) VALUES (1), (1)


(also nur ein mal Values)

Liebe Grüße,
Valentin

Ich danke dir. So geht es. Ich werde es morgen mal an meinem Programm testen. Ich hoffe nur das das autoinc feld wirklich nur hochzählt, und nicht etwa versucht löscher zu stopfen. Wenn ich z.b. eine Platte lösche.

Ich werde auf jeden fall berichten.

Antwort vom Server war:

Code:
Eingefügte Zeilen: 2
Letzte automatisch eingefügte ID: 2729050 (die Abfrage dauerte 0.0003 sek.)
Code:
Eingefügte Zeilen: 196
Letzte automatisch eingefügte ID: 2729620 (die Abfrage dauerte 0.0029 sek.)
Vielen dank

Valle 14. Okt 2011 21:34

AW: Was ist schneller? MySqlDirect oder ueber die .dll?
 
Keine Sorge, es füllt keine Löcher.

Liebe Grüße,
Valentin


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:26 Uhr.
Seite 3 von 5     123 45      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz