Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > СУБД, общие вопросы > Ошибка при создании SQL-запроса


Автор: LipatOFF 4.8.2007, 14:50
мне надо добавить новую запись в таблицу в delphi
в таблице три поля: ID, Тип, Основной. ID заполняется автоматически
я пишу:

Код

DataModule2.Query1.Close;
DataModule2.Query1.SQL.Clear;
DataModule2.Query1.SQL.Add('INSERT INTO tip_ras (Тип, Основной) VALUES ("'+Edit2.Text+'", 0);');
DataModule2.Query1.Open;


но у меня вылетает ошибка:

Project Reestr.exe raised exception class ENoResultSet with message 'Error creating cursor handle' .
Process stoped. Use Step or Run to continue.

что делать? 

Автор: LSD 4.8.2007, 16:34
Для начала проверь в SQL клиенте этот запрос, будет он работать или нет.

Автор: Anark1 4.8.2007, 16:39
1. Нет смысла закрывать квери, потому что SQL.Clear автоматически выполняет эту операцию.
2. Вместо Open нужно использовать ExecSQL.

Добавлено через 3 минуты и 27 секунд
И вообще для INSERT, UPDATE, DELETE используй ExecSQL.
Для SELECT - Open. Разница в том, что SELECT возвращает набор данных, а вышеперечисленные INSERT, UPDATE, DELETE - нет.

Автор: LipatOFF 4.8.2007, 21:05
Anark1, спасибо! вроде всё работает smile 

Автор: LipatOFF 14.8.2007, 10:08
появилась ещё одна проблема  smile 



у меня есть две таблицы (Paradox).
мне нужно чтобы в поле вервой таблицы вводились только те значения, которые присутствуют в первой.

для этого  я во второй таблице создаю числовое поле, для хранения id из первой таблицы. потом через delphi7 во второй таблице создаю динамическое поле, на основе функции NewField -> Lookup

так вот. у меня не получается сделать упорядочевание записей по этому динамическому столбцу в sql.

код sql:

Код

select* from pl_z order by К_договору ASC


помогите, что делать?  

Автор: LSD 15.8.2007, 14:43
Модератор: Пожалуйста, один топик - один вопрос.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)