AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken SQL über Memo und edit text

SQL über Memo und edit text

Ein Thema von Tommi1966 · begonnen am 16. Apr 2020 · letzter Beitrag vom 18. Apr 2020
Antwort Antwort
Delphi.Narium

Registriert seit: 27. Nov 2017
2.558 Beiträge
 
Delphi 7 Professional
 
#1

AW: SQL über Memo und edit text

  Alt 16. Apr 2020, 13:11
Damit erhälst du dann aber einen String der '+irgendwas+' enthält

Will man in 'nem String ein Hochkomma haben, so muss man zwei Hochkommas schreiben.

Will man nun am Anfang eines Strings ein Hochkomma haben, muss man drei Hochkommas schreiben.

Soll ein String aus einem Hochkomma bestehen, muss man vier Hochkommas schreiben.

Meiner Meinung nach ist Jumpys Erwartung richtig.

[edit]
Wenn jedoch in label25.Caption und label26.Caption sowie Edit3.Text der Inhalt bereits in Hochkommata steht, dürfte es auch funktionieren.

In dem Falle wären jedoch das '' + bzw. das + '' entbehrlich.

Geändert von Delphi.Narium (16. Apr 2020 um 13:34 Uhr)
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.688 Beiträge
 
Delphi 2007 Enterprise
 
#2

AW: SQL über Memo und edit text

  Alt 16. Apr 2020, 13:59
Die Hochkommata (egal welche jetzt) wären jedoch falsch, wenn das entsprechende DB Feld kein Text wäre, und in dem Edit z.B. eine Zahl steht. Diese Unsicherheit allein würde mich schon dazu bewegen, das wie bereits vorgeschlagen mit Parametern zu machen.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.558 Beiträge
 
Delphi 7 Professional
 
#3

AW: SQL über Memo und edit text

  Alt 16. Apr 2020, 14:29
Die Hochkommata (egal welche jetzt) wären jedoch falsch, wenn das entsprechende DB Feld kein Text wäre, und in dem Edit z.B. eine Zahl steht. Diese Unsicherheit allein würde mich schon dazu bewegen, das wie bereits vorgeschlagen mit Parametern zu machen.
Ja, schon.

Aber: Die meisten Datenbanken machen ja dann automatisch eine Typkonvertierung, so dass es meist halt doch schon geht. Schlimmstenfalls wird's durch die Typkonvertierung halt langsamer oder der eine oder andere Index kann nicht mehr genutzt werden.

Spaßig wird es, wenn der Text in Edit3.Text ein einzelnes Hochkomma enthält. Solche Fehler kann man dann wunderbar über Stunden hinweg suchen. (Vor allem dann, wenn man nicht gesagt bekommt, was denn da im Fehlerfalle so als Eingabe getätigt wurde )

Solche Fehler suchen muss man aber nicht.

Die Leute, die die Parametrisierbarkeit erfunden haben, haben sich bestimmt was dabei gedacht (oder waren irgendwann die Fehlersucherei satt? ).

Eigentlich spricht nichts gegen die Benutzung von Parametern. Alles andere führt früher oder später zu Problemen oder Sonderfällen, die man noch separat verarbeiten muss.

Und das Schöne an den Parametern ist: Wenn man die Datenbank wechselt ist das absolut tranzparent, man muss bei der Parameterbenutzung nix ändern. Bei allen anderen Vorgehensweisen wäre ich mir da nicht so sicher.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#4

AW: SQL über Memo und edit text

  Alt 16. Apr 2020, 15:06
@Delphi Natrium
Ich hatte angenommen das als Ausgabe ....."Irgendwas".... heraus kommen sollte, darum das "'+irgendeinwert+'"
Abgesehen davon sind Parameter natürlich zu bevorzugen, wobei mann dann auch wenig mit irgendwelhen Hochkommata zu tun hat.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.688 Beiträge
 
Delphi 2007 Enterprise
 
#5

AW: SQL über Memo und edit text

  Alt 16. Apr 2020, 15:28
Und nicht zu vergessen, vermutlich der Hauptgrund für Parameter: Kein SQL-Injection möglich. (Wird im hier gezeigten Fall wohl kaum kritisch sein, aber dennoch ein weiteres gutes Argument für Parameter.)
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#6

AW: SQL über Memo und edit text

  Alt 16. Apr 2020, 16:29
Leg ruhig einen Brikett auf. Der aktuelle Fall ist die Injektion schlechthin, da Du freie Hand hast irgendeinen SQL-Text einzugeben. Da hilft dann nur ein ordentliches Rechte-Management. Selbst ein Verstecken hinter Views ist da höchstens eine Erschwernis, aber kein Hindernis.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Antwort Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:58 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