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.