【发布时间】:2012-01-01 05:00:15
【问题描述】:
connect.Open();
dtpTime.CustomFormat = "H:mm";
dtpDate.CustomFormat = "M/d/yyy";
int plaatsen=50;
int personennu=0;
dbreader = null;
dbcommand = new OleDbCommand("SELECT aantalpersonen FROM bestelling WHERE datum="+dtpDate.Text+" ", connect);
dbreader = dbcommand.ExecuteReader();
while (dbreader.Read())
{
personennu = personennu + Convert.ToInt32(dbreader.GetValue(0));
}
if (personennu < plaatsen)
{
lblPersonen.Text = (plaatsen - personennu).ToString();
}
else
{
lblPersonen.Text = "unavailable";
}
connect.Close();
我正在尝试比较日期时间选择器和 sql (oledb),以便我可以从我的表中获取人数(荷兰语为 aantalpersonen)。它必须比较日期和时间,所以如果一个从 2010 年 11 月 18 日 9 点开始,我将它与 10 点之一进行比较,它应该给我位置(荷兰语中的 plaatsen),但是如果没有剩下的地方(超过 50 个地方),那么它应该说不可用,但我似乎无法得到 c# 的时间日期以及 sql 的时间和日期正确它现在给了我 50 个时间。
【问题讨论】:
-
请注意,如果我删除 WHERE 语句(所以所有内容),代码没有问题,所以它在日期部分(sql/db 访问 c# 之间的对话)请注意我也将我的访问数据库的类型设置为日期时间较短的日期不知道这是否重要,但只是你知道
-
让它工作 dbcommand = new OleDbCommand("SELECT aantalpersonen FROM bestelling WHERE datum=@mydate", connect); OleDbParameter myParam = new OleDbParameter(); myParam.ParameterName = "@mydate"; myParam.OleDbType = OleDbType.DBDate; myParam.Value = dtpDate.Value; MessageBox.Show(myParam.Value.ToString()); dbcommand.Parameters.Add(myParam);
-
您应该将其作为答案发布并接受,而不是在评论中发布您的答案。
-
感谢评论,现在修复了 lars
标签: c# sql date time datetimepicker