【发布时间】:2013-05-10 21:44:56
【问题描述】:
在我的应用程序中,我想计算当前年份和月份相同的记录数。所以我的逻辑是将当前年份和月份与我表中的 date_needed 列进行比较。 我是这样做的:
using (MySqlConnection con = new MySqlConnection(serverstring))
{
con.Open();
string query = "SELECT * FROM tblOrder WHERE date_needed=@dateTimeNow";
using (MySqlCommand cmd = new MySqlCommand(query, con))
{
cmd.Parameters.AddWithValue("@dateTimeNow", DateTime.Now.ToString("yyyy-MM")); using (MySqlDataReader dr = cmd.ExecuteReader())
{
int count = 0;
while (dr.Read())
{
count++;
}
MessageBox.Show(count.ToString());
}
}
}
我知道它不起作用,因为在我的消息框中它显示为零而不是一条记录。你觉得问题出在哪里?
【问题讨论】:
-
您想在 SQL 或 C# 中比较它的位置
-
date_needed真的是一个以yyyy-MM格式存储日期的varchar字段吗? -
@RajeevKumar,我想比较mySQL数据库表
tblOrder和date_needed列中的当前时间,所以我有这个查询string query = "SELECT * FROM tblOrder WHERE date_needed=@dateTimeNow"; -
@V4Vendetta 不,它是
date格式。 -
我想那将无法正常工作,您必须将 LHS
date_needed格式化为您传递的格式,例如 DATE_FORMAT(fieldname,"%Y-%m")