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

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

TQuery  vs. TUpdateSQL


mrcat ©   (2002-04-17 11:01:00) 

Помогите разобраться, плиз. После выполнения запроса выходит AV.
Есть, конечно, компонент Update.SQL, но разве нельзя здесь обойтись без него? или я что-то не правильно делаю?

Есть следующий код:
var
qS: TQuery;
...

with qS.SQL do begin
Clear;
Add("UPDATE "CISC.DB" SET Name="N#1, Phone="P#1", WHERE ID =
"ID#1"");
end;
qS.ExecSQL; // Error: Invalid use of keyword. TOKEN: UPDATE


Anatoly Podgoretsky   (2002-04-17 14:43:00) [1]

Что то не видать где создается qS, не в этом ли проблема?


evgeg   (2002-04-17 12:33:00) [2]

Проверьте, задан ли DatabaseName у TQuery. Уберите кавычки с "CISC.DB".


mrcat   (2002-04-17 11:50:00) [3]

EDBEngineError происходит при вызове ExecSQL


Wasp   (2002-04-17 11:44:00) [4]

Так что за ошибка: Access Violation (если я правильно понял AV) или в UPDATE?





mrcat   (2002-04-17 11:43:00) [5]

Нет, ну ту же сторку забиваю в UpdateSQL - и все работает...

var
qS: TUpdateSQL;

...

with qS.ModifySQL do begin
Clear;
Add("UPDATE "CISC.DB" SET Name="N#1", Phone="P#1" WHERE
ID="ID#1"");
end;
qS.ExecSQL(ukModify);
// Ошибки нет!


Wasp   (2002-04-17 11:36:00) [6]

Так что за ошибка: Access Violation (если я правильно понял AV) или в UPDATE?





Turalyon   (2002-04-17 11:35:00) [7]

>mrcat ©
А можно поподробнее про то что у обозначено ...
Может проблемы какие там. А вообще согласен с Wasp AV возникает не от неверного синтаксиса SQL... ИМО


mrcat   (2002-04-17 11:30:00) [8]

Динамически, статически. Пробовал по разному - результат один...


Wasp   (2002-04-17 11:26:00) [9]

Насколько я понимаю, Access Violation никак не связана с БД и SQL, надо искать ошибку в другом месте. Вы создаете объект qS динамически?


mrcat   (2002-04-17 11:17:00) [10]

:) очепятка, на самом деле:
UPDATE "CISC.DB" SET Name="N#1", Phone="P#1" WHERE ID = "ID#1""


Wasp   (2002-04-17 11:13:00) [11]

Перед WHERE не нужна запятая и проверьте кавычки на парность.


Наверх

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