Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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
15-1299164683
bad man
2011-03-03 18:04
2011.06.19
бинарные операции


2-1299834174
ssnakess
2011-03-11 12:02
2011.06.19
Тип данных String


15-1298669393
Юрий
2011-02-26 00:29
2011.06.19
С днем рождения ! 26 февраля 2011 суббота


6-1234896883
Индеец
2009-02-17 21:54
2011.06.19
IdCookieManager не сохраняются куки


2-1300183147
Avil
2011-03-15 12:59
2011.06.19
Mysql stored proc, записи в цикле





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский