【发布时间】:2019-07-30 15:21:20
【问题描述】:
我有一个表,我想在其中插入数据一次一天
并实现我想检查当前日期是否已存在于
通过编写这些行来创建数据库
DateTime date = DateTime.Now;
MySqlCommand cmd = new MySqlCommand("SELECT * FROM `attendances` WHERE
`lecture_id` = '" + lecture_id + "' " +
" AND `date` = '"+date.ToShortDateString()+"' ",con);
MySqlDataReader reader = cmd.ExecuteReader();
reader.Read();
if (reader.HasRows)
MessageBox.Show("you can't insert");
else MessageBox.Show("you can insert");
日期以xxxx-xx-xx这种格式插入到数据库中,尽管使用相同的插入方法,date.ToShortDateString()以这种格式返回日期
xxxx/x/x .
我检查了以正确的格式手动插入日期,但这也没有用,我还尝试在 sql 中使用
DATE 函数,但也没有用。
【问题讨论】:
-
C# 支持准备好的语句,我建议你使用它们。这也是一个供公众使用的程序吗?如果是这样,您不应该在应用程序中对 MySQL 用户/密码进行硬编码,因为可以使用现有的
.NET反编译器,那么它们就有您的 MySQL 用户名和密码。 -
@RaymondNijland 你是对的,我在我的程序中使用了准备好的语句,但这只是为了测试条件是否正确,谢谢你指出。