【发布时间】:2017-01-05 15:23:18
【问题描述】:
我正在尝试将我在数据库中的信息放入一个列表中,以便它可以将数据库中指定的时间与现在的时间进行比较并显示通知。
到目前为止,它还没有完全工作,我觉得我在正确的轨道上,有人可以看看我的代码吗?
private void timer1_Tick(object sender, EventArgs e)
{
try
{
DataTable dt = new DataTable();
SqlDataAdapter sqlDA = new SqlDataAdapter("SELECT Time FROM dbo.Planner", connectionString);
sqlDA.Fill(dt);
SqlCommand cmd = new SqlCommand();
cmd.CommandType = CommandType.StoredProcedure;
List<string> Time = new List<string>();
if (dt.Rows.Count >= 0)
{
foreach (DataRow item in dt.Rows)
{
Time.Add(item["Time"].ToString());
Console.WriteLine(item[1]);
}
foreach (string item in Time)
{
if (item == DateTime.Now.ToString("HH:mm"))
{
MessageBox.Show("Test");
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
【问题讨论】:
-
“到目前为止,它还不能正常工作”。详细说明。
-
if (dt.Rows.Count >= 0)也应该是> 0否则你会将空行放入你的foreach循环应该.Count == 0。 -
@rory.ap 我不确定代码是否正确,我什至可以用我的数据库中的数据填充我的列表吗?以及如何比较检查时间。
-
运行代码的结果是什么?发生了什么你不喜欢的事情?
-
你试过调试看看它在做什么吗?逐行遍历代码,观察变量的值?
标签: c# sql-server database winforms list