2017-05-03 166 views
-1

我需要编写一个程序,该程序将从名为PushTb2的表中选择一个名为Message和Date的列的数据库。SqlDataAdapter和Fill之间的C#连接

这是一些代码 - 我不知道它是否包含足够的信息。

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]); 

如何建立连接,以及如何使程序工作?

+4

执行此代码段时发生了什么? –

+0

查看您的连接字符串可能会有所帮助。同时指定数据库系统。 – PaulF

回答

0

我想你的SQL语句是错误的,你真正想要的是"SELECT Date,Message FROM PushTb2 WHERE Date >= getdate()-1"除此之外,一切正常......

PS:你的连接字符串可能是错的,但是这将抛出一个异常,并不仅回报,空的结果......

+0

使用getdate()进行测试可能不会给你任何结果,因为它会在最后几毫秒检查消息 –

0

这应该为你工作,我做了类似的事情:

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

我觉得每一个代码其它行看起来OK,但要确保你的连接字符串有效。