Hochkomma im SQL-Befehl einbinden

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von ErfinderDesRades.

    Hochkomma im SQL-Befehl einbinden

    Hallo,

    ich bins wieder. Ich hab das Problem, dass ich meinen SQL Befehl in Visual Basic aus einer Variable und dem Befehl selbst zusammensetzt: "Select * from Tabelle where Feld like '%" & Variable & "%'".

    Damit soll inerhalb der Datenbank gesucht werden. Die Variable ist also der Inhalt einer Textbox. Wenn jetzt in die Textobx ein String mit einem Hochkomme (z.B. "Mach's") eingegeben wird, bricht der gesamte SQL - Befehl zusammen.

    Was kann man da machen? (Außer die Eingabe von Hochkommas zu verbieten)

    Vielen Dank schon mal im Voraus

    Mfg,

    iBasic

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „iBasic“ ()

    Select * aus Tabelle where Feld like

    Was ist denn das?
    Multilanguage SQL?
    denglische Regionaleinstellung?


    Quick-and-dirty-Alternative zu Post #2:
    Die Apostrophen verdoppeln.

    VB.NET-Quellcode

    1. SqlCmd = "SELECT * FROM Tabelle WHERE Feld LIKE '%" & Variable.Replace("'","''") & "%'"

    Funktioniert bei den meisten Datenbanken, ist aber ein Hack.
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --
    Ja, sorry, ich war wohl ein bisschen durcheinander beim Tippen xD

    Naja, wie auch immer, das mit dem verdoppeln klappt, vielen Dank!

    Quick - and - dirty hört sich nur nicht so professionell und sicher an, deshalb würde ich den Erfinder des Rades bitten, mir zu erklären was er mit DBParameter verwenden meint.
    Ich bin noch Anfänger, ich versteh nicht, was du damit meinst...

    Vielen Dank!
    Kennst du ObjectBrowser? Damit kann man sich über alles mögliche informieren. ZB die Parameter-Property der Command-Klasse angugge. Und auch den CommandParameter selbst. Beachte, dasses allgemeine DB-Klassen gibt, aber auch spezielle, für SQLServer, SqlCe, Access und so.
    Wenn du also im OB einen DBParameter gefunden hast, kannst du F1 drücken, das ruft noch weitere Hilfe herbei, vmtl. mit CodeSample.

    Ich selbst bastel eiglich nie mit diese Dinger rum, sondern lass mir das generieren, wennich nach "Datenbank in 10 Minuten" auf Movie-Tuts vorgehe.