none
Gross und kleinbuchstaben in einer SQL abfrage unterscheiden RRS feed

  • Frage

  • Halle, ich brauche mal wieder ein bischen hilfe

    Ich frage über SQL Datenbank in "MS Access" erstellt 3 Werte ab wenn die 3 Werte übereinander Stimmen krieg ich ein meldug zurück.

    Das problem ist, dass zb. beim Username und password die abfrage nicht auf die gross und kleinschreibung achtet, wie kann ich das änder.

    hier der SQL code:

    SELECT        COUNT(*) AS Resutat, Username AS UserInput, [Password] AS PassInput, [Level Access]
    FROM            Users
    GROUP BY Username, [Password], [Level Access]
    HAVING        (COUNT(*) = 1) AND (Username = ?) AND ([Password] = ?) AND ([Level Access] = 10)

    PS: Code mit Abfrage-Generator erstellt.

    MFG

    WILWPI

    Sonntag, 29. Juli 2012 18:17

Antworten

  • Hallo,

    es ist nicht ganz klar ob Du eine SQL Server Datenbank über Access abfragst,
    oder eine Access-Datenbank (MDB/ACCDB).

    Für den ersten Fall (SQL Server):
    Dort ist der Vergleich abhängig von der Sortierung der Spalte festgelegt, siehe COLLATE.
    Du müsstest die beiden Spalten z. B. auf Latin1_General_CS_AS ändern.

    Für den zweiten Fall:
    Access / Jet unterscheidet von Haus aus keine Groß-/Kleinschreibung.
    Das geht nur auf Umwegen, siehe dazu: Access FAQ 3.19 Groß- und Kleinschreibung unterscheiden

    Gruß Elmar

    Sonntag, 29. Juli 2012 20:44
  • Hi, Probier mal:

    SELECT        COUNT(*) AS Resutat, Username AS UserInput, [Password] AS PassInput, [Level Access]
    FROM            Users
    GROUP BY Username, [Password], [Level Access]
    HAVING        (COUNT(*) = 1) AND (Username COLLATE Latin1_General_CS_AS = 'UsEr' ) AND ([Password] COLLATE Latin1_General_CS_AS = 'PaSsWoRt' ) AND ([Level Access] = 10)

    -- UsEr, PaSsWoRt natürlich durch die eigentlichen Daten ersetzen


    I appreciate it very much if you vote my Replies as Helpful or Mark as Answer if I could help you out. Thanks!

    Montag, 30. Juli 2012 09:14

Alle Antworten