Laden...

Wie kann ich ein If für einen Vergleich erstellen?

Erstellt von elias12 vor 5 Jahren Letzter Beitrag vor 5 Jahren 1.370 Views
E
elias12 Themenstarter:in
7 Beiträge seit 2018
vor 5 Jahren
Wie kann ich ein If für einen Vergleich erstellen?

verwendetes Datenbanksystem: <SQL Server 2016>

Hallo zusammen

Ich habe ein kleines Programm erstellt dass im Wesentlichen folgendes tut:

Es errechnet aus dem Nettolohn abzüglich der Rechnungen ein Tageslimit dass jeweils in der DB hinterlegt wird.

Nun habe ich 2 Tabellen in der Datenbank, die eine lautet Limiten und die andere Ausgaben.

Und lese diese nun mit einem Subselect aus, d.h. ich bilde die Summe aller Ausgaben pro Tag und möchte das nun mit dem Tageslimit vergleichen und das bei Ueberschreitung ein Alarm ausgelöst wird

Hier der Auschnitt aus dem Code der den Subselect ausführt (der korrekt läuft)


private void Alarm_Click(object sender, EventArgs e)
        {
            OleDbConnection con = new OleDbConnection();
            OleDbCommand cmd = new OleDbCommand();
            OleDbDataReader reader;
            con.ConnectionString = "Provider=SQLNCLI11.1;" + "Data Source=CRONOS-WI764BIT;Initial Catalog=Tageslimit;Persist Security Info=True;User ID=sa;Password=*****";
            cmd.Connection = con;
            // Limite abzüglich Summe der Ausgaben ergibt Differenz die bei Ueberschreitung rotes Label anzeigt
            cmd.CommandText = "Select (Select (Nettolohn - Zahlungen) / 30  As Resultat from Limiten) - (Select SUM(Preis) AS Summe from Ausgaben) AS Differenz from Ausgaben";
            try
            {
                con.Open();
                reader = cmd.ExecuteReader();
                LstAnzeige3.Items.Clear(); // Liste leeren
                while (reader.Read())  // Der Zugriff auf die DB geht solange bis der letzte Datensatz erreicht wurde
                {
                    LstAnzeige3.Items.Add("Tageslimite abzüglich Summe der Ausgabe pro Tag    " + reader["Differenz"]);
                    

                }
                reader.Close(); // "Reader" schliessen
                con.Close(); // dasselbe mit der Verbindung zur DB
            }
            catch (Exception ex) // gibts ein Problem?
            {
                MessageBox.Show(ex.Message); // dann Fehlermeldung ausgeben
            }

        }

Frage wie kann ich den Vergleich mit If erstellen

Danke für Eure Hilfe

P
1.090 Beiträge seit 2011
vor 5 Jahren

Resultat und Ausgabe gibst du ja nicht mit zurück. Sondern nur die Differenz. Aber wenn die kleiner 0 ist hast du dein Tageslimit überschritten. Oder brauchst du jetzt wirklich Hilfe wie man eine if Abfrage schreibt?

Sollte man mal gelesen haben:

Clean Code Developer
Entwurfsmuster
Anti-Pattern

E
elias12 Themenstarter:in
7 Beiträge seit 2018
vor 5 Jahren

ok danke für die schnelle Antwort. das mit dem IF sollte ich schon noch gebacken kriegen.. 👅

16.842 Beiträge seit 2008
vor 5 Jahren

Denk dran, dass Datenbank-Code in der UI nichts zu suchen hat.
[Artikel] Drei-Schichten-Architektur

E
elias12 Themenstarter:in
7 Beiträge seit 2018
vor 5 Jahren

Hallo Abt

Danke Fall ist erledigt und das Ganze DB Gedöhns habe ich in eine separate Class gepackt somit sieht das eigentliche Form viel besser aus