none
SqlCeException - Fehler in Token RRS feed

  • Frage

  • Hallo zusammen,
    habe mir unter dem neuen SQL-Server Express eine kleine Datenbank aufgebbaut und beim Versuch mit mit einem ExecuteReader die Daten aus meiner Tabelle User auszulesen, bekomme ich die Fehlermeldung (Fehler beim Analysieren der Abfrage. [ Token line number = 1,Token line offset = 36,Token in error = User ]). Jetzt habe ich in der Msdn-Doku nachgeschaut, da ich in den Details der Exception Fehlercode 25501 bekommen habe, aber keine Ursache / Ursachenbeschreibung gefunden. Interpretier ich den Fehler richtig, dass der Fehler in meiner Tabelle ist (Token in error = user) ?

    Aufbau der Tabelle User:
    -----------------------------
    UserID - int (4)- Primärschlüssel
    Kennwort -nvarchar(20)
    Benutzername - nvarchar(20)

    //Quellcode..

     

    SqlCeConnection con = new SqlCeConnection(constr);
    string strSQL = "SELECT Benutzername, Kennwort FROM User"; 
    sc = new SqlCeCommand(strSQL, con);


    //Verbindung wird geffnnet...

    con.Open();
    sdr = sc.ExecuteReader(); //hier tritt die SqlCeException auf...


    Danke für Eure Tipps, bzw. Hinweis.

    Gruss

    Tilman

    Mittwoch, 10. März 2010 06:32

Antworten

  • Hallo Tilman,

    was nutzt Du denn nun genau; den MS SQL Server Express Edition (gemäß Deiner Beschreibung) oder die Compact Edition (gemäß Code SqlCeConnection)?


    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    Mittwoch, 10. März 2010 06:42
  • Noch etwas, egal ob Express oder Compact; User ist ein reserviertes Wort und sollte man besser nicht als Objekt-Namen verwenden.

    Tust Du es doch, musst Du es immer in eckige Klammern setzen:

    string strSQL = "SELECT Benutzername, Kennwort FROM [User]";


    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    • Als Antwort vorgeschlagen Elmar Boye Mittwoch, 10. März 2010 07:50
    • Als Antwort markiert Tilman Gromadecki Mittwoch, 10. März 2010 15:15
    Mittwoch, 10. März 2010 06:45

Alle Antworten

  • Hallo Tilman,

    was nutzt Du denn nun genau; den MS SQL Server Express Edition (gemäß Deiner Beschreibung) oder die Compact Edition (gemäß Code SqlCeConnection)?


    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    Mittwoch, 10. März 2010 06:42
  • Noch etwas, egal ob Express oder Compact; User ist ein reserviertes Wort und sollte man besser nicht als Objekt-Namen verwenden.

    Tust Du es doch, musst Du es immer in eckige Klammern setzen:

    string strSQL = "SELECT Benutzername, Kennwort FROM [User]";


    Olaf Helper ----------- * cogito ergo sum * errare humanum est * quote erat demonstrandum * Wenn ich denke, ist das ein Fehler und das beweise ich täglich http://olafhelper.over-blog.de
    • Als Antwort vorgeschlagen Elmar Boye Mittwoch, 10. März 2010 07:50
    • Als Antwort markiert Tilman Gromadecki Mittwoch, 10. März 2010 15:15
    Mittwoch, 10. März 2010 06:45
  • Hallo Olaf,

    super, danke dir für den Tipp. Aktuell setzte ich den SQL SErver Compact 3.5 ein. Dein Tipp mit den Klammern war goldrichtig. Problem gelöst. Werde aber die Tabelle umbenennen, da du ja gesagt hast, dass dies ein geschützes Wort.

    Gruss

    Tilman
    Mittwoch, 10. März 2010 15:15