【发布时间】:2021-01-12 23:53:39
【问题描述】:
我不是 IT 专业人士,所以下面的语法是错误的,但它显示了我想要做什么。
我有两个 DateTimePicker:DateTimePicker1 和 DateTimePicker2(DateTimePicker1
-
如果是周末。
-
如果是数据库表中的日期。
有人可以帮我清理下面的代码吗?
非常感谢!
public static bool isDateInDatabaseAppointmentTable(DateTime DateTimePicker.Value) //How to write this statement. Check if the date is in database table
{
OdbcConnection Cn = new OdbcConnection(GlobalVariables.DatabaseConnectionString);
string select = "SELECT COUNT(*) from TableAppointment WHERE AppointmentDate = DataTimePicker.Value ";
//How to write this SQL statement
using (OdbcCommand cmd = new OdbcCommand(select, Cn))
{
object obj = cmd.ExecuteScalar();
int count = Convert.ToInt32(obj);
if (count > 0)
{
return true;
}
else
{
return false;
}
}
}
for (DateTime dt = DateTimePicker1.Value to DateTimePicker2.Value)
{
bool isFound = GlobalMethod.isDateInDatabaseAppointmentTable(dt);
if (dt == Satursday || dt == Sunday)
{
MessageBox.Show("It is weekend, you don't work today")
//I will do something here, and I think I know how to do it. Just using messagebox to replace it.
}
else if (isFound == true)
{
MessageBox.Show("You have appointment today, and you don't work today")
//I will do something here, and I think I know how to do it. Just using messagebox to replace it.
}
else
{
//I will do something here.
}
}
【问题讨论】:
-
isDateInDatabaseAppointmentTable声明声明了一个方法(又名函数)。括号中的内容(您当前拥有的DateTime DateTimePicker.Value)应该是一个参数(例如DateTime theDate)。然后,您可以将其用作方法的局部变量。当您调用该方法时,您会传递一个值(或引用),例如DateTimePicker.Value,并且该值会在该方法的调用中使用。 -
我会通过开始和结束日期,并返回这些日期之间的数据库中的所有日期。别忘了,
DatePicker.Value是一个datetime,所以你想在 SQLcast(@start as date中将其转换为日期 -
@Flydog57 它只是显示了逻辑(我想做的)。我不是 IT 专业人士,我真的不知道如何正确编写它。语法完全错误。谢谢。
标签: c# visual-studio winforms