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
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:
ok danke für die schnelle Antwort. das mit dem IF sollte ich schon noch gebacken kriegen.. 👅
Denk dran, dass Datenbank-Code in der UI nichts zu suchen hat.
[Artikel] Drei-Schichten-Architektur
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
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