2017-05-03 8 views
-1

Ich musste ein Programm schreiben, die aus einer Datenbank mit einer Tabelle namens PushTb2, 2 Spalten namens Nachricht und Datum auswählen würde.C# Verbindung zwischen SqlDataAdapter und füllen

Dies ist ein Teil des Codes - ich weiß nicht, ob es genug Informationen enthält.

SqlConnection con = new SqlConnection(conString); 
con.Open(); 
SqlDataAdapter sda = new SqlDataAdapter("SELECT Message FROM PushTb2 WHERE Date = 'DateNow'", con); 
DataTable dt = new DataTable(); 
sda.Fill(dt); 
dateTimePicker1.Value = Convert.ToDateTime(dt.Rows[0][0]); 

Wie stelle ich die Verbindung her und wie mache ich das Programm?

+4

Was passiert, wenn Sie dieses Snippet ausführen? –

+0

Es kann hilfreich sein, die Verbindungszeichenfolge zu sehen. Außerdem Angabe des Datenbanksystems. – PaulF

Antwort

0

Ich denke, was Ihre SQL-Anweisung ist falsch und was Sie wirklich wollen, ist "SELECT Date,Message FROM PushTb2 WHERE Date >= getdate()-1" anders als das, alles in Ordnung aussieht ...

ps: Ihre Verbindungszeichenfolge könnte falsch sein, aber das wäre eine Ausnahme auslösen, und nicht nur Rendite und leeres Ergebnis ...

+0

Das Testen mit getdate() wird wahrscheinlich auch keine Ergebnisse liefern, da nach Nachrichten in den letzten Millisekunden gesucht wird –

0

dies für Sie arbeiten sollte, habe ich etwas ähnliches getan:

var datenow = DateTime.Now.ToString(); 
SqlDataAdapter sda = new SqlDataAdapter("SELECT Message, Date FROM PushTb2 WHERE Date = '" +datenow+ "'", con); 

denke ich, jede andere Zeile Code OK aussieht, aber stellen Sie sicher, dass Ihre Verbindungszeichenfolge ist gültig.

Verwandte Themen