Entwickler-Ecke

Datenbanken (inkl. ADO.NET) - Postgresql und nach Mai suchen...


tomycat - Do 05.05.16 21:13
Titel: Postgresql und nach Mai suchen...
hallo,
checkbox 9 ist für RE und checkbox10 ist für kv´s. Spalte Datum seiht z.B. so aus 2016.05.02
Mein Ziel ist es jetzt:

Quelltext
1:
... AND zeige mir alle Ergnisse mit 05 (Mai) an.                    

Wie hänge ich das an dem String das an?

C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
      string sucher_r = "";
            string sucher_a = "";
            if (checkBox9.Checked)
            {
                sucher_r = " AND artdesaufttrags = 'Rechnung'";
            }
            if (checkBox10.Checked)
            {
                sucher_a = " AND artdesaufttrags = 'Angebot'";
            }

            if (checkBox10.Checked && checkBox9.Checked )
            {
                sucher_a = " AND (artdesaufttrags = 'Angebot' OR artdesaufttrags = 'Rechnung')";
                sucher_r = "";
            }
            try
            {

                string connstring = String.Format("Server={0};Port={1};User Id={2};Password={3};Database={4};",
                  Form1.tbHost, Form1.tbPort, Form1.tbUser, Form1.tbPass, Form1.tbDataBaseName);

                NpgsqlConnection conn = new NpgsqlConnection(connstring);

                conn.Open();

                string sql = "select * from auftrag where (sqlpos BETWEEN ' 1 'AND ' 100')" + sucher_a + sucher_r +";";


Moderiert von user profile iconChristian S.: Code- durch C#-Tags ersetzt


Th69 - Fr 06.05.16 12:34

Hallo,

ist bei dir das Datum wirklich als String in der DB gespeichert (und nicht als Date)?

Ein paar generelle Anmerkungen aber zu deinem Code:
- benutze SQL Parameter: [Artikelserie] SQL: Parameter von Befehlen [http://www.mycsharp.de/wbb2/thread.php?threadid=66704]
- benenne deine Steuerelemente (CheckBoxen) gleich richtig

Wenn es sich nicht um ein privates Projekt handelt, dann solltest du dir evtl. mal ein ORM (Object Relation Mapper) ansehen, z.B. ServiceStack.OrmLite [https://github.com/ServiceStack/ServiceStack.OrmLite] (damit du die SQL-Strings nicht von Hand zusammenbauen mußt).