MySQL Abfrage wird nicht akzeptiert

  • VB.NET

Es gibt 10 Antworten in diesem Thema. Der letzte Beitrag () ist von VB1963.

    MySQL Abfrage wird nicht akzeptiert

    Hallo Community!

    Ich bin dabei eine kleine Windows Forms Anwendung zu schreiben, bei der ich einige Datensätze in eine Datenbank schreibe (XAMPP, PhpMyAdmin, MySql)

    Nun bei einer Abfrage zeigt mir Visual Studio einen Error im SQL Syntax an. Die selbe Abfrage direkt in PhPMyAdmin ausgeführt bringt jedoch das gewünsche Ergebnis.

    Wo könnte der Fehler liegen?

    SQL-Abfrage

    1. "SELECT Monat, sum(Betrag) AS 'Gesamt', sum(Betrag2) AS 'Gesamt2 USt' FROM tabelle1 WHERE Monat LIKE '%" + variable+ "' GROUP BY Monat;


    und die Meldung dazu:

    An unhandled exception of type 'MySql.Data.MySqlClient.MySqlException' occurred in MySql.Data.dll

    Additional information: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'LIKE ' 16' GROUP BY Monat' at line 1


    Danke für eure Hilfe
    Du hast ein %-Zeichen nach %" + variable+ vergessen. Bei dir steht:
    SELECT [...] FROM tabelle1 WHERE Monat LIKE '%" + variable+ "' GROUP BY Monat;
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
    Also ich kenn des nur so, dass man mit dem LIKE Operator %was-auch-immer-gesucht-werden-soll-teil% geschrieben wird.

    Ja halt...fällt mir grad so auf...Der TE spricht in seinem Post von MySQL, @VB1963 was du meinst, ist SQL. SQL ist zwar in vielerlei Hinsicht standartisiert, jedoch nicht in allen Belangen...leider :(

    Bzw: @TE: Wenn du mal einen Breakpoint nach dem Zuweisen deines SQL Statements machst, kannst du dann bitte mal den Text Posten, der dein Command ist? Also der, der dann an die Datenbank geschickt wird.
    In general (across programming languages), a pointer is a number that represents a physical location in memory. A nullpointer is (almost always) one that points to 0, and is widely recognized as "not pointing to anything". Since systems have different amounts of supported memory, it doesn't always take the same number of bytes to hold that number, so we call a "native size integer" one that can hold a pointer on any particular system. - Sam Harwell
    Ja das stimmt auch, aber es gibt mehrere Kombinationen von Platzhaltern
    (Buchauszug von Datenbank-Programmierung mit VB von Doberenz und Gewinnus):
    '%abc'
    finded alle Einträge, die mit 'abc' beginnen
    'abc%'
    finded alle Einträge, die mit 'abc' enden
    '%abc%'
    finded jedes Vorkommen von 'abc', auch wenn es nur ein Wortteil ist
    'a_c'
    _ ist ein Zeichenplatzhalter - und findet 'aac', 'abc', 'axc' usw.
    'a[bcg]z'
    [] bedeutet einschließlich Zeichen - findet nur 'abz', 'acz', 'agz'
    'a[b-k]z'
    - bedeutet von/bis - findet nur 'abz', 'acz' bis 'akz'
    'a[^bcg]z'
    ^ bedeutet ausschließlich Zeichen - findet alles außer 'abz', 'acz', agz'