Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi DirectMySQL - In DB schreiben (https://www.delphipraxis.net/100335-directmysql-db-schreiben.html)

Tommy1988 26. Sep 2007 13:46

Datenbank: - • Version: - • Zugriff über: -

DirectMySQL - In DB schreiben
 
Mit folgendem Tutorial
http://www.dsdt.info/tutorials/mysqldirect/

Habe ich schon vor Zeiten begonnen.

Aber ich weis nicht, wie ich in die DB schreiben kann.

Habe es schon mit
Delphi-Quellcode:
'INSERT INTO IP (' + Edit1.Text +
  ') VALUES ('
  + Edit1.Text + ')';
versucht, aber das klappt nicht :(

DeddyH 26. Sep 2007 13:52

Re: DirectMySQL - In DB schreiben
 
Nimm mal QuotedStr(Edit1.Text)

Tommy1988 26. Sep 2007 13:54

Re: DirectMySQL - In DB schreiben
 
Ich habe vergessen zu erwähnen, dass es sich um eine IP handelt die in die DB geschrieben werden soll.

DeddyH 26. Sep 2007 13:58

Re: DirectMySQL - In DB schreiben
 
Aber das Feld ist alphanumerisch, oder?

phXql 26. Sep 2007 13:59

Re: DirectMySQL - In DB schreiben
 
SQL-Code:
INSERT INTO [Tabelle] ([Feldname]) VALUES ([Wert])
Wenn das Feld also ip heisst:

SQL-Code:
INSERT INTO IP (ip) VALUES ("127.0.0.1");

Tommy1988 26. Sep 2007 14:05

Re: DirectMySQL - In DB schreiben
 
Irgentwie klappt das nicht :pale:

Delphi-Quellcode:
  q := 'INSERT INTO IP (ip) VALUES ('+Edit1.Text+')';
Die Tabelleist vom Typ varchar mit maximal 15 zeichen.
(IP 123.456.789.123) wären dann 15 Zeichen.

SMALLID 26. Sep 2007 14:08

Re: DirectMySQL - In DB schreiben
 
Delphi-Quellcode:
q := 'INSERT INTO IP (ip) VALUES (' +  QuotedStr(sEdit1.Text) + ')';
Das muss man deshalb so machen, weil SQL sonst nach dem Wert "suchen" würde (Annahme: sEdit1.Text ist 127.0.0.1). Also sozusagen:

"hmmm, ich soll jetzt in das Feld IP schreiben, ok ... schaumer mal was da rein soll ... ahh 127 .... ist das n Tabellenname oder was? ... Nee ... hab ich nicht in der Liste ... Und was macht denn der Punkt da noch? Kann mir das mal einer erklären?"

Wenn du das in Quotes (mit QuotedStr) setzt werden da noch Anführungszeichen drumrumgesetzt und das ding weiss:
"Ins Feld IP schreiben, ok ... ahhh da soll jetzt ein String rein ... "127.0.0.1" ... alles klar! Da muss ich ja gar nicht nach was anderem mehr suchen" und dann steht in deinem Feld 127.0.0.1 ohne die Anführungszeichen.

Noch ein Dibb am Rande: Man sollte normalerweise nicht die Tabelle und ein Feld darin gleich nennen. Also kannst du die Tabelle meinetwegen "IPTable" und das Feld "IP" nennen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:51 Uhr.

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