![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Никак не могу понять, где ошибка в 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 - а для запроса это проблема, оказывается.