2011-01-02 4 views
0

У меня возникла ошибка при выполнении этого запроса.неправильный синтаксис рядом с ',' ..

Delete from customerpayment where customerid = 8, Paymentid = 1 , currentpayment = '132', startdate = '1/1/2011', enddate = '12/31/2011', status = 'Paid'; 
+0

Возможно, вы сначала посмотрите на свои другие вопросы, но пока не приняли никакого ответа. Другое, что вы действительно пережили проблему поиска других операторов SQL и сравнения их с вашими? Разница должна быть довольно очевидной. – Tomalak

+0

ok ok ok !!! я получил u !! :) Спасибо друг! i dindt знал, что :) –

ответ

6

Использование and вместо , и ваш запрос должен работать.

Более точно:

delete from customerpayment where customerid = 8 and Paymentid = 1 and currentpayment = '132' and startdate = '1/1/2011' and enddate = '12/31/2011' and status = 'Paid'; 

Несколько предложений: кажется, вы используете string структуру данных для представления даты. Это плохая практика, и вы должны использовать внутреннюю структуру данных своей базы данных для таких вещей.

Если currentpayment всегда номер, не используйте string.

Если у вас есть только несколько возможных значений status, скорее используйте другую таблицу со всеми возможными значениями состояния, а затем присоедините ее на основе идентификатора.

+0

no ... currentpayment - это числовое значение. –

+1

@Abid: ''132'' - это строка,' 132' - числовое значение. – darioo

+0

, но есть текстовое поле в форме, в которой находится значение текущего платежа. Поэтому из-за опасения, что все значения в текстовом поле являются строкой, я написал «132» в кавычках. –

Смежные вопросы