2016-12-02 2 views
1

Ich habe eine Tabellenspalte als Status (Varchar, zeichnet nur "Paid"/"Unpaid") und eine andere Spalte als nextDateOfPay (datetime, zeichnet ein Datum auf) .I Sie müssen diese Statusspalte als Nicht bezahlt für die Datensätze aktualisieren, die als Bezahlt gelten, wenn das Datum (aktuelles Datum) das Datum in der nextDateOdPay-Spalte überschritten hat. Und ich muss diese Aktualisierung für jede Zeile in der Tabelle wiederholen. Primärschlüssel ist die Id-Spalte (Ganzzahl). Ich habe keine Ahnung wo ich anfangen soll, muss ich T-sql verwenden oder wenn ich sql agent job.Ich möchte wissen, ob es eine einfache Lösung gibt, die ich in das Programm selbst schreiben kann.Vielen Dank So viel im Voraus! -Code so weit wie,Wie aktualisiert man eine Datenbankspalte, die Daten nach Prüfung einer Bedingung vergleicht C#

dateTimePicker3.Value = DateTime.Now; 
textBox12.Enabled = false; 
string newstat; 
string query = "select Id,nextDateOfPay from gymTb where status='Paid'"; 

SqlConnection cn = new SqlConnection(cs); 
SqlCommand cmd = new SqlCommand(query, cn); 

DateTime x = DateTime.Now; 
DateTime y; 

if (cn.State.ToString() == "Closed") 
{ 
    cn.Open(); 
} 
try   
{ 
    object dtx = cmd.ExecuteScalar(); 
    y = Convert.ToDateTime(dtx); 
    int result = DateTime.Compare(x, y); 

    if (result >= 0) 
     newstat = "Unpaid"; 
} 
catch (Exception ex) 
{ 
    MessageBox.Show(ex.Message); 
} 

Antwort

3

Eine einfache UPDATE-Abfrage tun würde:

UPDATE gymTb SET status='Unpaid' 
WHERE status='Paid' AND nextDateOfPay <= getdate() 

Sie könnten dies aus Ihrer Anwendung aufrufen, ausgelöst durch manuelles Drücken eines Knopfes oder vielleicht Timer Logik.

Damit es täglich und unabhängig von Ihrer Anwendung ausgeführt werden kann, können Sie die UPDATE-Anweisung in einen wiederkehrenden Job im SQL Server-Agent einfügen. Mehr dazu hier:
how to schedule a job for sql query to run daily?

+0

Oh mein Gott Herr, ich bin in Tränen !!! Es funktioniert und so eine einfache brillante Lösung. Vielen Dank, Sir! Gott segne dich !! Danke nochmal Millionen mal! – angels65

+0

Die Kraft der Einfachheit! –

Verwandte Themen