Entwickler-Ecke
Datenbanken (inkl. ADO.NET) - zwei mal BETWEEN geht irgend wie nicht...
tomycat - Mo 02.11.15 22:15
Titel: zwei mal BETWEEN geht irgend wie nicht...
Hallo,
ich möchte gerne zwei mal BETWEEN nehmen....
C#-Quelltext
1: 2: 3: 4: 5:
| s = "select * from artikel.rechnunginhalt WHERE datum BETWEEN " + int.Parse(textBox2.Text) + " AND " + int.Parse(textBox3.Text);
s += " AND geld BETWEEN 1 AND 100";
s += ";"; |
2.Frage: geld ist varchar(25) in meiner mysql.
C#-Quelltext
1: 2: 3: 4: 5: 6:
| s = "select * from artikel.rechnunginhalt WHERE datum BETWEEN " + int.Parse(textBox2.Text) + " AND " + int.Parse(textBox3.Text);
s += " AND geld = "; s += textBox5.Text; s += ";"; |
Es kommt 19 geht nicht
Moderiert von Th69: Code- durch C#-Tags ersetzt
Ralf Jansen - Mo 02.11.15 22:36
1.) Wenn möglich immer
Parameter [
http://openbook.rheinwerk-verlag.de/visual_csharp_2012/1997_32_005.html] verwenden. Kein String konkatenieren wie du es machst. Das nimmt dir das saubere Formatieren der Werte ab. (Dezimalzahlen mit Punkt oder Komma?, Welches Format braucht man für ein Datum? etc.)
2.) Wenn Geld ein varchar ist dann gehören da Quotes um den Text sonst kann die Datenbank den Text nicht von einem Spaltennamen unterscheiden. Auch das Problem würde nicht existieren wenn du Parameter verwendest. Dann ist klar das ein Wert gemeint ist und kein Spaltenname.
tomycat - Mo 02.11.15 22:46
ok,
zu Frage 1,(ohne Komma/Punkt)
Ziel:
Zeilennummer 1 bis 30 und Geld 20 bis 30
zu Frage 2, Ich nutze Komma und es geht um einen Geldbetrag.
Wie meinst du das mit Parameter?
Ralf Jansen - Mo 02.11.15 22:51
Zitat: |
Zeilennummer 1 bis 30 und Geld 20 bis 30 |
Das sollte so funktionieren können wie du es zeigst. Möglicherweise möchte mysql hier zwingend Klammern für den "Feld between value1 and value2" Ausdruck.
Aber du hast es doch bestimmt ausprobiert oder?
Zitat: |
Wie meinst du das mit Parameter? |
Klick auf den Link im Beitrag.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2024 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!