Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2011.06.19;
Скачать: CL | DM;

Вниз

Настройка 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;
Скачать: CL | DM;

Наверх




Память: 0.53 MB
Время: 0.01 c
15-1298896576
hasp4
2011-02-28 15:36
2011.06.19
Размер памяти в hasp 4


3-1260890661
man Yury
2009-12-15 18:24
2011.06.19
Странный результат при выполнении хранимой процедуры


2-1300221363
Scott Storch
2011-03-15 23:36
2011.06.19
Добавление в таблицу БД


6-1237876800
Vudu
2009-03-24 09:40
2011.06.19
Отключить/подключить интернет


15-1299060395
Scott Storch
2011-03-02 13:06
2011.06.19
Цифровая подпись