C# 基于DateTimePicker值从MySQL数据库表中选择所有数据
我想从一个表中选择所有数据,其中日期将来自DateTimePicker 这是我目前掌握的代码:C# 基于DateTimePicker值从MySQL数据库表中选择所有数据,c#,mysql,winforms,C#,Mysql,Winforms,我想从一个表中选择所有数据,其中日期将来自DateTimePicker 这是我目前掌握的代码: MySqlConnection connection = new MySqlConnection(MyConnection); connection.Open(); MySqlCommand cmd = connection.CreateCommand(); cmd.CommandText = "SELECT * FROM income_table WHERE income_date='" +
MySqlConnection connection = new MySqlConnection(MyConnection);
connection.Open();
MySqlCommand cmd = connection.CreateCommand();
cmd.CommandText = "SELECT * FROM income_table WHERE income_date='" +
dateShower.Value + "';";
cmd.Connection = connection;
MySqlDataReader myDataReader = cmd.ExecuteReader();
while (myDataReader.Read())
{
txtIncomeList.Text = Convert.ToString(myDataReader["income_subcategory"] +
"\t\t" + myDataReader["income_amount"] + "\r\n" +
myDataReader["income_vendor"]+ "\t\t" +
myDataReader["income_paidby"]+"\r\n\r\n");
}
sql查询中的问题是,您将datetimepicker值date和time与income_date字段数据进行匹配,但无法检索任何数据,您必须编辑查询以比较两个范围之间的日期,如下所示:
"SELECT * FROM income_table WHERE income_date > = '" + dateShower.Value.Date.ToString("yyyyMMdd") + " 00:00:00" + "' and income_date <= '" + dateShower.Value.Date.ToString("yyyyMMdd") + " 23:59:59" + "'";
有什么问题?你没有得到任何结果吗?您的dateShower.Value可能与您的数据库值不完全匹配,因此不会返回任何内容。它不会从表中检索任何数据。我不认为dateShower.Value与mySql的格式不同@好的,伙计们,我们为什么要删除c标记?这是c代码。如果这是一个web应用程序,您应该使用参数化查询,否则这是一个等待发生的SQL注入攻击。@gunr2171,因为问题不在于c代码。这个问题与sql查询有关