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

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

исключение "недопустимое имя"


xyz ©   (2009-07-29 11:58:00) 

Кинул на форму ADODataSet и ADOCommand, в дополнение к ADOConnection.  С помощью обоих компонентов попытался внести запись в таблицу (БД Access) так:
s:='insert into Инвентарь (Наименование,Код_типа_инвентаря,Код_инвентаря) values (';
s:=s+QuotedStr(edit1.text);
s1:=inttostr(radiogroup1.itemindex);
s:=s+','+s1+',0)';
adodataset1.active:=false;
adodataset1.CommandText:=s;
adodataset1.active:=true;

(с пом. ADOCommand аналогично) возникает исключение "Недопустимое имя" Проверьте, что оно не содержит недопустимые символы... И далее по тексту.
Собственно, где здесь недопустимые символы?


Плохиш   (2009-07-29 14:02:00) [1]


> xyz   (29.07.09 13:06) [16]
>
> Как его (ADOCommand) настроить?

Опять справка отсутствует...


clickmaker   (2009-07-29 13:18:00) [2]

ADOCommand.CommandType := cmdText;
ADOCommand.CommandText := 'insert...';
ADOCommand.Execute;

чтобы не склеивать строку из кусков, можно воспользоваться свойством Parameters


xyz   (2009-07-29 13:06:00) [3]

Как его (ADOCommand) настроить? А то в книгах везде только Table описывается, DBNavigator...


Anatoly Podgoretsky   (2009-07-29 12:55:00) [4]

C INSERT хорошо сочетается ADOCommand


xyz   (2009-07-29 12:51:00) [5]


> и как это сочетается с insert?
> у адо взорвался моск, они не поняли, чего-же ты хочешь

Хорошо, что там сочетается с insert? Query, наверное, использовать надо.


xyz   (2009-07-29 12:36:00) [6]

Ну по отладчику я увидел только что запрос сформировался так:
insert into [Инвентарь] ([Наименование],[Код_типа_инвентаря],[Код_инвентаря]) values ('тестовая строка',0,0)
и что исключение возникает на строке
adodataset1.active:=true;


Palladin   (2009-07-29 12:34:00) [7]

короче полный бардак в голове


clickmaker   (2009-07-29 12:33:00) [8]

> adodataset1.CommandType - какое значение?
>
> cmdStoredProc

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


xyz   (2009-07-29 12:29:00) [9]


> Зачем что то копировать из сообщения, ты должен написать
> правильный запрос, с закрытой скобкой.

Так у меня закрыта. А в сообщении все равно не закрытая скобка.

> adodataset1.CommandType - какое значение?

cmdStoredProc

> И ты уже конечно воспользовался отладчиком, так как там?

Сейчас постараюсь


clickmaker   (2009-07-29 12:26:00) [10]

команды типа insert, update, delete надо выполнять не adodataset, а adocommand
и не active, а Execute()


Anatoly Podgoretsky   (2009-07-29 12:24:00) [11]

И ты уже конечно воспользовался отладчиком, так как там?


Palladin   (2009-07-29 12:24:00) [12]

adodataset1.CommandType - какое значение?


Anatoly Podgoretsky   (2009-07-29 12:23:00) [13]

Зачем что то копировать из сообщения, ты должен написать правильный запрос, с закрытой скобкой.


xyz   (2009-07-29 12:22:00) [14]

Я в точности скопировал как было написано в сообщении. Там тоже не было закрыто.


Palladin   (2009-07-29 12:11:00) [15]

а почему ты не закрыл скобку?


xyz   (2009-07-29 12:11:00) [16]

Другое исключение: "Объект insert into [Инвентарь' не найден ядром базы данных Microsoft Jet. Проверьте существование объекта и правильность имени и пути".


Anatoly Podgoretsky   (2009-07-29 12:06:00) [17]


> Собственно, где здесь недопустимые символы?

Например здесь - Инвентарь
или здесь - edit1.text
Сообственно ты сам можешь посмотреть с помощью отладчика.


Palladin   (2009-07-29 12:01:00) [18]

все имена на кириллице заключи в квадратные скобки


Наверх

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