Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Никак не могу понять, где ошибка в INSERT INTO [D7, ACCESS]


DVM ©   (2007-05-30 15:14:00) 

Есть таблица в базе Access такого плана:

ID - Счетчик, ключевое поле
ManufacturerName - текст
Desc - текст

Делаю запрос:


AdoCmd.CommandText := 'INSERT INTO Manufacturers(ManufacturerName, Desc) ' +
'VALUES(' + QuotedStr(Name) + ', ' + QuotedStr(Desc) + ')';


Не работает! Пишет ошибка синтаксиса.

Так вот работает:


AdoCmd.CommandText := 'INSERT INTO Manufacturers ' +
'VALUES(0, ' + QuotedStr(Name) + ', ' + QuotedStr(Desc) + ')';


Но мне надо первое поле увеличивать автоматически ибо там счетчик и 0 писать я не могу.

В чем дело не пойму?


Jan1   (2007-05-30 16:20:00) [1]


> При работе с СУБД не дающими таких офигительных возможностей,
>  пьем горькую и ругаемся суксем...

я ж написал "тем более СУБД позволяет", если не позволит, ну что ж буду префиксы добавлять. Я мне удобно когда структура базы самодокументированна...


Val   (2007-05-30 16:09:00) [2]

>[8] Jan1   (30.05.07 15:58)
>почему?
потому как добровольный шаг в ж.., прошу прощения.
..томными жаркими вечерами провожу время в желании создать папку Con в Win...
>вот нравится оно мне и описывает ту переменную/обьект/поле лучше некуда
префикс и т.д. - принципиально - не? тогда держим в памяти/генах квадратные скобочки, кавычки и т.д. При работе с СУБД не дающими таких офигительных возможностей, пьем горькую и ругаемся суксем...


Jan1   (2007-05-30 15:58:00) [3]


> должно быть - не использовать служебные слова для именования
> своих переменных и т.д.

почему? вот нравится оно мне и описывает ту переменную/обьект/поле лучше некуда - почему я не могу ее заюзать? тем более СУБД позволяет.


Anatoly Podgoretsky   (2007-05-30 15:40:00) [4]

> Val  (30.05.2007 15:35:05)  [5]

Тем более, что ни чем не обосновано использование данного слова как идентификатора - описание чего то, или как минимум описание, а не опис


DVM   (2007-05-30 15:39:00) [5]


> Jan1   (30.05.07 15:30) [3]
> а так?

Тоже вариант


Val   (2007-05-30 15:35:00) [6]

гхм... на генетическом уровне, должно быть - не использовать служебные слова для именования своих переменных и т.д.


DVM   (2007-05-30 15:32:00) [7]


> Anatoly Podgoretsky ©   (30.05.07 15:28) [2]

Да я понял уже, забыл что оно зарезервировано для сортировки результатов запроса.


Jan1   (2007-05-30 15:30:00) [8]

а так?

AdoCmd.CommandText := 'INSERT INTO [Manufacturers]([ManufacturerName],
[Desc]) ' +

ИМХО, это уже должно быть на генетическом уровне - обрамлять в []. Ну или в "" если ФБ, Оракл.


Anatoly Podgoretsky   (2007-05-30 15:28:00) [9]

> DVM  (30.05.2007 15:14:00)  [0]

Наверно в том, что слово Desc резервированое, самое вероятное


DVM   (2007-05-30 15:22:00) [10]

Вопрос снят, я использовал поле с именем Desc - а для запроса это проблема, оказывается.


Наверх

Титульная страница Поиск, карта сайта Написать письмо