2015-02-14 4 views
0

У меня проблема в моем коде, когда я хочу получить данные, которые на определенную дату! My SQL заявление:сравнить дату в SQL C#

MySqlCommand cmd = new MySqlCommand("select a.acc_id,a.acc_Name,a.acc_Place,b.type, 
b.acc_sub_debt,b.acc_sub_payment, 
b.acc_sub_returned,b.acc_sub_date,COALESCE(b.acc_sub_note,' ') from accounts a, 
account_Details b where a.acc_ID = b.acc_Sub_ID 
where b.acc_sub_date = '" + DateTime.Parse(dateTimePicker1.Text).ToShortDateString() 
+ "' order by b.id desc", objConn); 

Ошибка является:

«У Вас есть ошибка в вашем SQL SYNTAC в руководстве, соответствует версии сервера MySQL для правильного синтаксиса, чтобы использовать рядом 'где b.acc_sub_date = '14/2/2015' заказ по b.id убыв»в строке 1"

+4

У вас есть «где» дважды. Вы имели в виду «где .... и ...»? – Crowcoder

+2

Это будет безумным, уязвимым для SQL-инъекций. Это практически попрошайничество, чтобы его взломали. –

+0

@JoelCoehoorn Я уверен, вы не можете устоять перед искушением. – Banana

ответ

0

ли это:

string sql = 
@"select a.acc_id,a.acc_Name,a.acc_Place,b.type,b.acc_sub_debt,b.acc_sub_payment,b.acc_sub_returned,b.acc_sub_date,COALESCE(b.acc_sub_note,' ') 
    from accounts a, account_Details b 
    where a.acc_ID = b.acc_Sub_ID and b.acc_sub_date = @subDate 
    order by b.id desc"; 

MySqlCommand cmd = new MySqlCommand(sql, objConn); 
cmd.Parameters.Add("@subDate", MySqlDbType.Date).Value = DateTime.Parse(dateTimePicker1.Text); 
Смежные вопросы