[C#] [SQL] Problem mit String

Dieses Thema im Forum "Programmierung & Entwicklung" wurde erstellt von labmx, 31. März 2011 .

Schlagworte:
  1. 31. März 2011
    [SQL] Problem mit String

    Hi Leute,
    ich arbeite derzeit an einem Projekt. Dazu möchte ich jetzt die Daten aus der Datenbank bekommen.
    Das ist der SELECT:
    sql = "SELECT * FROM 1_messe WHERE LFD_NR='"+lfd_nr+"'";

    Das Problem ist jetzt das in der Variable lfd_nr auch ein ' steht...
    also so z.B.: ILS'11

    Klappt so halt nicht. Weiß da jemand eine Lösung?

    mfg labmx
     
  2. 31. März 2011
    AW: [SQL] Problem mit String

    schreib doch einfach in die Datenbank statt ILS'11 einfach ILS\'11
     
  3. 31. März 2011
    AW: [SQL] Problem mit String

    Ersetz halt vorher in der Variable ' mit \' . Stichwort: Replace

    (http://dev.mysql.com/doc/refman/5.0/en/string-syntax.html) Liste mit Escape-Sequenzen für MySQL-Querys
    (String.Replace Method) Syntax für String.Replace Funktion in .NET

    Oder du schreibst dir direkt eine Funktion für das generelle Escapen von den Querys:

    Code:
    public static string MySqlEscape(this string usString)
    {
     if (usString == null)
     {
     return null;
     }
     // SQL Encoding for MySQL Recommended here:
     // http://au.php.net/manual/en/function.mysql-real-escape-string.php
     // it escapes \r, \n, \x00, \x1a, baskslash, single quotes, and double quotes
     return Regex.Replace(usString, @"[\r\n\x00\x1a\\'""]", @"\$0");
    }
    wäre in deinem Fall:

    Code:
    sql = MySqlEscape("SELECT * FROM 1_messe WHERE LFD_NR='"+lfd_nr+"'");
    (Continuum Drift - Escape MySQL Queries in .NET (C#))
     
  4. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.