powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / кавычки в Interbase
11 сообщений из 11, страница 1 из 1
кавычки в Interbase
    #32208521
Alex Yakovenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день

Есть запрос
select pole as "ima_polya_v_kavichkah" from tablica;

При выполнении его через IBConsole все работает.

При использовании SQL Explorer или Delphi (IBX) возникает ошибка
token unknown "ima_polya_v_kavichkah".

Запросы
select pole as ima_polya from tablica;
select pole from tablica;
работают.

Используются
Firebird 1.0.0.338
SQL Dialect 3.
Delphi 5

Почему это происходит и как с этим бороться?

Может ли быть, что SQL Explorer и Delphi (IBX) используют какой-то старый
драйвер от interbase 5?

С уважением, Алекс Яковенко
...
Рейтинг: 0 / 0
кавычки в Interbase
    #32208584
BodyaS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А зачем тебе использовать кавычки?
...
Рейтинг: 0 / 0
кавычки в Interbase
    #32208676
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если 3-й диалект то все имена становятся регистрочувствительными и их ната заключать в двойные квычки. 4 example:

IBSQL->SQL->Add("select \"FieldName\" from \"TableName\");
IBSQL->ExecQuery();
...
Рейтинг: 0 / 0
кавычки в Interbase
    #32208931
Alex Yakovenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
2 BodyaS
Кавычки необходимы для использования русских символов, пробелов и т. п.

2 Ex_Soft
Если имелся ввиду вариант
select pole as \"ima_polya_v_kavichkah\" from tablica; ,
то он тоже не работает.

Непонятно то, что в IBConsole все работает-то.
Возможно, есть какой-то аналог QUOTED_IDENTIFIER из MS SQL, отвечающий за распознавание двойных кавычек?
...
Рейтинг: 0 / 0
кавычки в Interbase
    #32208949
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select \"pole\" as ima_polya_v_kavichkah from \"tablica\"
...
Рейтинг: 0 / 0
кавычки в Interbase
    #32208960
AGuest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Alex Yakovenko

Я на 6 Дельфи делаю:
IBQuery1.Close;
IBQuery1.Sql.Clear;
IBQuery1.Sql.Add('select field as "some field" from table');
//as можно пропустить
IBQuery1.Open

Все работает...

Ex_Soft
У товарища Дельфи, а вы Си ++ Билдеровский синтаксис предлагаете
...
Рейтинг: 0 / 0
кавычки в Interbase
    #32208968
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
BQuery1.Close;
IBQuery1.Sql.Clear;
IBQuery1.Sql.Add('select field as "some field" from table');
//as можно пропустить
IBQuery1.Open

А таблицу создавал как?
Код: plaintext
1.
2.
3.
4.
create table table
(
   field integer not null
);

или
Код: plaintext
1.
2.
3.
4.
create table  "Table" 
(
    "Field"  integer not null
);

писал:
У товарища Дельфи, а вы Си ++ Билдеровский синтаксис предлагаете

Ну это ж форум по SQL а не по дельфям, а если человек умеет ездить на велосипеде - то ему все равно какой он.
...
Рейтинг: 0 / 0
кавычки в Interbase
    #32208978
AGuest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Ну это ж форум по SQL а не по дельфям, а если человек умеет ездить на
> велосипеде - то ему все равно какой он.

Да я насчет экранирования \" - в Дельфи оно не надо, так как строки заключаются в одинарные кавычки :)

> А таблицу создавал как?
Да хоть как, только во втором случае вместо select field надо select "Field"

Ты лучше у себя там глянь, в свойствах IBDataBase property SQLDialect = 3 ?
...
Рейтинг: 0 / 0
кавычки в Interbase
    #32208991
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
писал:
Ты лучше у себя там глянь, в свойствах IBDataBase property SQLDialect = 3 ?

Ессесно... Тока IBX тут ни при чем.
Вы в RDB$RELATION_FIELDS гляньте на RDB$RELATION_NAME как оно записано? В верхнем регистре? Или регистрочуствительно?
...
Рейтинг: 0 / 0
кавычки в Interbase
    #32209000
Фотография Ex_Soft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
www.ibase.ru писал:
Строка в двойных кавычках в диалекте 3 рассматривается как идентификатор. Грубо говоря, в диалекте 3 можно создать таблицу вот так:

CREATE TABLE "My CoOl TaBlE" ("My vARIABLE" INTEGER);

И при этом запрос к такой таблице должен быть

SELECT "My vARIABLE" from "My CoOl TaBlE";

Разумеется, это относится и к строковым константам в WHERE, к триггерам, процедурам и т.п.


здесь
...
Рейтинг: 0 / 0
кавычки в Interbase
    #32209001
AGuest
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
> Ессесно... Тока IBX тут ни при чем.
Ну уж так и ни причем :)

> Вы в RDB$RELATION_FIELDS гляньте на RDB$RELATION_NAME как оно записано? В
> верхнем регистре? Или регистрочуствительно?

Да знаю я эти приколы :). Еще раз повторяю: во втором случае меняем запрос на

IBQuery1.Sql.Add('select "Field" as "some field" from "Table"');
И опять все работает :)

А вот если IBDataBase.SQLDialect=1 или 2, то Dynamic SQL Error ....

А вообще, регистро-зависимые таблицы - это кошмар для админа БД, по-моему...
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / кавычки в Interbase
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]