Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];




Вниз

Возвращение к теме удаления (ODAC) 


VAleksey   (2002-04-05 12:41) [0]

Помните мой предыдущий вопрос под сабж "Ошибка при удалении"?
Мучает меня одна дилемма. Ситуация следующая :

OraTable1.OptionsDS.TrimFixedChar:=true;
Поле в таблице на сервере CHAR(10)
Пробуем удалить запись - ошибка "Update Failed: Found 0 records"
Меняем свойство OraTable1.OptionsDS.TrimFixedChar на false.

Пробуем удалить запись - успешно.
Кладем в модуль данных компонент OraQuery. Запрос вида "Delete from table where Field = "ИУС"" делаем Execute Query - успешно !!!???!
Почему ?



roottim   (2002-04-05 13:04) [1]

IMHO потому что квери... Table всетаки первоначально загружает структуру табл и соотв ей строит запрос.. квери этим незанимается, то биш механизм другой
хотя мб и не так!
а что дают селекты на
field="блабла" и на field="блабла "
тот же результат... проверь?



Johnmen   (2002-04-05 13:19) [2]

Потому, что "Delete from... транслируется напрямую, а сервак
сам поймет, что значит "ИУС".
А если через ODAC, то серв. ждет char(10)? а ты даешь char(3)...



{bas}   (2002-04-05 13:19) [3]

На самом деле есть проблема использования CHAR(...)(и я не раз с ней встречался), правдо не знаю с чем она связана(не было время разбираться), но опыт показывает лучше все поля CHAR(...) замениить на VARCHAR(...) или VARCHAR2(...) и тогда ошибок не будет.
P.S. Это не только с ODAC но и с BDE и с многим другим



Johnmen   (2002-04-05 14:16) [4]

>{bas} : Точно так !
А связано с тем, что, напр. BDE, умничает и отсекает хвостовые пробелы...Посему после него уже нет разницы, char или varchar...
А серваку м.б. не все равно...



Johnmen   (2002-04-05 14:18) [5]

Поправка - ...Посему после него уже все как varchar ...



VAleksey   (2002-04-05 14:32) [6]

Ясненько




Форум: "Базы";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.72 MB
Время: 0.028 c
4-81118           SerVS - S             2002-01-29 14:13  2002.04.25  
Как используя API выключить ActiveDesktop


6-81029           Aleksandr             2002-02-13 13:45  2002.04.25  
Как работать с TNMStrm на подтверждение чего-либо?


1-80857           DimNK                 2002-04-13 12:24  2002.04.25  
Форма авторизации


3-80764           SaperXL               2002-04-03 01:13  2002.04.25  
BDLookupComboBox


1-80983           Dr. Web               2002-04-12 12:47  2002.04.25  
Об OpenOffice замолвите слово...