Форум: "Базы";
Текущий архив: 2011.06.19;
Скачать: [xml.tar.bz2];
ВнизНастройка Dataset Найти похожие ветки
← →
Motzart © (2009-12-14 23:37) [0]Доброго времени суток!
Описание:
При использовании DataEditor для IBDataset, генерируемый запрос не содержит "-"(Кавычки) для полей и имен таблиц.
И все бы ничего, но когда запрос состоит из 10-15 полей, для всех событий (Modify-Insert-Update-Refresh) ручками вписывать "-", как-то странно...
Вопрос:
Как настроить (что-то нужное) так, чтобы кавычки вставлялись автоматически....ну не поверю, что никак :)
← →
YurikGL © (2009-12-15 07:29) [1]Использую FIB+... чет там такой проблемы не помню
← →
Sergey13 © (2009-12-15 08:52) [2]> [0] Motzart © (14.12.09 23:37)
А зачем тебе кавычки? Поля по русски что ли названы?
← →
Медвежонок Пятачок © (2009-12-15 10:21) [3]Он имеет ввиду, что запрос написан со звездой и он должен быть редактируемым.
Но ему не хочется формировать mody/insert/delete sql
← →
Sergey13 © (2009-12-15 10:45) [4]> [3] Медвежонок Пятачок © (15.12.09 10:21)
Я как то давненько не настраивал датасеты IBX (и под рукой нет), но при всей моей любви к звездочке (когда нужны действительно все поля) я что-то не припомню такой проблемы. Все поля добавляются автоматом и в редакторе просто отмечаются нужные ключевые и редактируемые.
← →
Медвежонок Пятачок © (2009-12-15 10:52) [5]возможно это так и есть если на момент дизайна есть коннект к бд и он там в это время мышкой елозит.
но ситуация может быть сложнее.
например
with TIBDataSet.Create() do
try
....
и так далее.
С одной стороны требуется наличие явных текстов для модифай и инсерт, а с другой стороны нет механизма подобного смартквери как в одаке.
я по этой причине отказался от этой библиотеки. неудобно.
← →
Motzart © (2009-12-15 12:21) [6]Доброго дня!
На самом деле вот так:
Я формирую запрос хоть рантайм, хоть дизайн, и в запросе имена полей и имена таблиц необходимо заключать в кавычки, иначе ошибка.
То же самое, если пользоваться iSQL.
Вопрос:
При автоматическом формировании запросов Dataset insert\modify\delete\refresh кавычки не проставляются.....запрос не отрабатывается - приходится ручками ставить кавычки, тогда нормально работает.
У меня подозрение, что я просто чего-то не настроил, ну не верю, что нет решения :)
← →
Motzart © (2009-12-15 12:56) [7]Для понимания (dataset editor):
Так работает:
update "test"
set
"Name" = :"Name",
"FullName" = :FullName,
"Adress" = :Adress
where
"Name" = :OLD_Name and
"FullName" = :OLD_FullName and
"Adress" = :OLD_Adress
Так НЕ работает, но так генерится автоматом:
update test
set
Name = :Name,
FullName = :FullName,
Adress = :Adress
where
Name = :OLD_Name and
FullName = :OLD_FullName and
Adress = :OLD_Adress
← →
Медвежонок Пятачок © (2009-12-15 12:58) [8]у тебя походу регистрозависимый режим идентификаторов и третий диалект
← →
Motzart © (2009-12-15 13:21) [9]
> у тебя походу регистрозависимый режим идентификаторов
А теперь, если можно, по-русски ;)
← →
Медвежонок Пятачок © (2009-12-15 13:34) [10]Так работает:
Так НЕ работает, но так генерится автоматом:
и что при этом оно говорит?
← →
clickmaker © (2009-12-15 14:19) [11]> [9] Motzart © (15.12.09 13:21)
Моцарт, а про регистры не знаешь )
← →
Motzart © (2009-12-15 18:42) [12]
> clickmaker © (15.12.09 14:19) [11]
меня не слово регистр заинтересовало, а слово режим.
← →
Motzart © (2009-12-15 18:45) [13]
> и что при этом оно говорит?
SQL error code=-204
← →
Медвежонок Пятачок © (2009-12-15 21:31) [14]http://www.delphikingdom.com/asp/answer.asp?IDAnswer=20080
похоже у борланда это фамильная фича.
когда то давно, когда деревья были большие и с ораклом работали через бде, то редактируемый запрос должен был быть написан большими буквами (имена таблиц)
← →
Motzart © (2009-12-16 00:33) [15]
> Медвежонок Пятачок © (15.12.09 21:31) [14]
не то, что-то еще, потому как начинает писать ту же ошибку и Column not found
← →
Медвежонок Пятачок © (2009-12-16 00:35) [16]все верно. не находит колонку или не находит саму таблицу
← →
Медвежонок Пятачок © (2009-12-16 00:39) [17]я про оракол то что сказал: берем квери и пишем запрос "select * from table"
работает.
затем включаем реквестлайв - и уже не работает, пока не будет "select * from TABLE"
только было это давно и на бде.
← →
Motzart © (2009-12-16 00:46) [18]Дык в том и вопрос, что все как бы понятно, а как настроить Dataset Editor, чтобы не переписывать ручками ничего! В этом вопрос и состоит!
← →
Медвежонок Пятачок © (2009-12-16 00:51) [19]лучше просто перейти на правильные йогурты.
типа fib"сов
← →
Motzart © (2009-12-16 01:06) [20]ну это конечно да, но в данном случае никак не перейти - ИБ лицензия и ни шагу в сторону никак не пойдешь...
Так что, нет "красивого" решения?
← →
Sergey13 © (2009-12-16 08:33) [21]> [20] Motzart © (16.12.09 01:06)
А запрос в
> [7] Motzart © (15.12.09 12:56)
реальный который не работает или "для примера"? Все датасеты не работают по такой схеме или конкретный?
← →
Motzart © (2009-12-16 10:18) [22]Запрос реальный (ну в смысле что проверенный).
Все датасеты не работают.
Более того, если я использую Query, то и в дизайне и в рантайме тоже ручками нужно добавлять кавычки в именам таблиц и полей, чтобы работало.
← →
Sergey13 © (2009-12-16 10:48) [23]> [22] Motzart © (16.12.09 10:18)
Шаманство конечно, но если так попробовать.update test
set
Name = :Name,
FullName = :FullName,
Adress = :Adress
where
Id = :OLD_Id
← →
Motzart © (2009-12-16 10:56) [24]
> Sergey13 © (16.12.09 10:48) [23]
не доходит до конца - ошибка 204 table test not found
← →
Motzart © (2009-12-16 11:09) [25]update "test"
set
"Name" = :Name,
"FullName" = :FullName,
"Adress" = :Adress
where
Id = :OLD_Id
А вот так - без проблем
← →
Sergey13 © (2009-12-16 11:10) [26]> [24] Motzart © (16.12.09 10:56)
А в сторонней тулзе какой-нибудь типа ИБЭксперта запрос без кавычек идет?
← →
Медвежонок Пятачок © (2009-12-16 11:16) [27]в редакторе свойств sql есть галка "quote identifiers"
можно порыться в исходниках редактора и посмотреть как обрабатывается эта галка
← →
Motzart © (2009-12-17 00:50) [28]
> Sergey13 © (16.12.09 11:10) [26]
нет, без кавычек не идет
← →
Sergey13 © (2009-12-17 10:46) [29]> [28] Motzart © (17.12.09 00:50)
Тогда, ИМХО, Делфи и редактор датасетов тут ни при чем. Надо ковырять настройки сервера и свойства БД.
ibase.ru
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2011.06.19;
Скачать: [xml.tar.bz2];
Память: 0.52 MB
Время: 0.004 c