-
JeryCar2012 (03.05.12 13:23) [0]Здравствуйте!
Ерунда какая-то – вроде до недавнего времени все работало, а теперь неожиданно перестало. Например, я пишу такой код:
[code]
FrmMain.ADOQuery1.SQL.Clear;
FrmMain.ADOQuery1.SQL.Add('Update Orders set COL5='+Chr(39)+'привет'+Chr(39));
FrmMain.ADOQuery1.ExecSQL;
FrmMain.ADOQuery1.SQL.Clear;
FrmMain.ADOQuery1.SQL.Add('Update Orders set COL5='+Chr(39)+'Пока'+Chr(39)+' Where COl4 is NULL');
FrmMain.ADOQuery1.ExecSQL;{}
[/code]
Присоединен к базе данный Access. Так вот первая часть {1} выполняется и работает нормально, а вот вторая не работают – т.е. при компиляции ошибки не возникает, но после выполнения кода слова 'Пока'в столбце COL5 не появляются, хотя я вижу в Access что в столбце Col4 – есть пустоты…
См. рисунок
http://pixs.ru/showimage/000jpg_2182839_4697711.jpg
В чем дело, подскажите? -
'' <> null
-
JeryCar2012 (03.05.12 13:46) [2]Не работает! в этом случае "Пока" появляется везде....
Глючит SQL чтоли? -
Anatoly Podgoretsky © (03.05.12 13:51) [3]> JeryCar2012 (03.05.2012 13:46:02) [2]
Самое последние дело катить бочку нa SQL -
JeryCar2012 (03.05.12 13:54) [4]А первое тогда какое?
-
> '' <> null
> Не работает! в этом случае "Пока" появляется везде....
это ответ, а не кусок кода для вставки
перевод - "пустая строка не равна/не то же самое, что отсутствие строки"
> Глючит SQL чтоли?
скорее ты. -
> А первое тогда какое?
на себя. как все нормальные программисты. в 99% это будет верно. -
Медвежонок Пятачок © (03.05.12 14:23) [7]'Пока'в столбце COL5 не появляются,
не появляются потому что условие where возвращает false. -
Медвежонок Пятачок © (03.05.12 14:32) [8]хотя я вижу в Access что в столбце Col4 – есть пустоты…
тогда так и составляй запрос - заапдейтить везде, где есть "пустоты", а не там, где поле нулл. -
Плохиш © (03.05.12 15:24) [9]
> > А первое тогда какое?
> на себя. как все нормальные программисты.
В связи с отсутствием программиста, оно сразу перешло к последнему... -
Anatoly Podgoretsky © (03.05.12 15:45) [10]А оно зависло между первым и последним.
-
update orders set col5='ttt' where coalesce(col4, '') = ''