Форум: "Базы";
Текущий архив: 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]Ясненько
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.04.25;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.006 c