Autor Beitrag
BlackMatrix
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 243
Erhaltene Danke: 1



BeitragVerfasst: Mo 09.08.10 16:44 
Hi.

Ich habe mir SQLite Bibliotheken für C# zugelegt und mir eine Datenbank mit SQLite Admin erstellt.

Ich habe verschiedene URLs und habe mir 2 Spalten mit Checkboxen erstellt.

Das schaut dann so aus:

img153.imageshack.us...1870/unbenanntwf.png

Ich möchte jetzt mithilfe von C# auf die Elemente zugreifen, wo bei beiden Checkboxen kein Haken drin ist und das klappt nur ganz komisch.

Schaue ich mir die MT.db mit einem normalen Editor an, so steht dort z.B. ein 'true' mit 'Y' drin und auch nur in manchen Fällen steht da auch wirklich ein 'false' wenn da kein Haken drin ist.
Deswegen muss ich die Abfrage so machen:
ausblenden C#-Quelltext
1:
            command.CommandText = "SELECT hosturl FROM MT WHERE str!='Y' AND down!='Y'";					


Ich kenne mich mit Datenbanken wenig bis gar nicht aus, wenn ich aber über SQLiteAdmin z.B. eine Abfrage auf beide Checkboxen mit dem Wert 'true' mache, dann kommen auch wirklich die URLs, die ich möchte.

Was ist das? Kann mir jemand helfen?
Greenberet
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 339
Erhaltene Danke: 20

Win 10
C# (VS 2012), C++ (VS 2012/GCC), PAWN(Notepad++), Java(NetBeans)
BeitragVerfasst: Mi 11.08.10 14:56 
Ich schätze mal das liegt daran weil wie wärte "Nullable" sind. Sprich sie können Y,N und "Null" annehmen.

Wenn ich du wäre würde ich das Datenmodell überdenken und die Felder als "not null" definieren, damit auch wirklich nur Y/N in den feldern drinn steht.

Wenn nicht musst du halt auf "where str ='N' or str is null" zurückgreifen
BlackMatrix Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 243
Erhaltene Danke: 1



BeitragVerfasst: Fr 13.08.10 03:06 
Okay danke. Ich habe es jetzt einfach so gemacht, dass ja bei jedem Häkchen was ich gesetzt habe, der Wert Y angenommen wurde. Also habe ich einfach abgefragt, wo kein 'Y' steht und es passt auch wieder :)

Aber danke für deine Antwort.