|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
22.10.2012, 15:45 | #1 |
Пользователь
Регистрация: 12.09.2011
Сообщений: 13
|
авто выбор Open и ExecSQL
Доброго времени суток.
У меня возникла проблема с обработкой запросов. На форме расположены DBedit(editSQL), ADOQuery1. Запрос вводится в DBedit и его значение присваивается ADOQuery1. Вопрос в следующем: как организовать выбор в использовании ADOQuery1.Open или ADOQuery1.ExecSQL в зависимости от запроса(Select или Insert, Delete)? Пробовал через try...except, не выходит. Код:
|
22.10.2012, 15:48 | #2 |
Старожил
Регистрация: 17.11.2010
Сообщений: 19,042
|
Первое слово в запросе какое? Select, Insert, Delete, наверно еще Update. Проверить какое слово нет ни какой возможности?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
|
22.10.2012, 16:01 | #3 |
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
Да, и код, приведенный выше должен работать, если в начале обработчика закрыть и очистить ADOQuery1
Код:
|
22.10.2012, 16:20 | #4 |
Пользователь
Регистрация: 12.09.2011
Сообщений: 13
|
Работает, если только 1ый вводимый запрос будет Select, а это уже не рабочая прогр.
Запрос вводит пользователь, а значит нельзя предугадать его. А как проверить какое слово я думал узнать у Вас) Пробовал составить условие - безуспешно... |
22.10.2012, 16:30 | #5 | ||
Старожил
Регистрация: 09.01.2008
Сообщений: 26,238
|
Цитата:
Цитата:
Пишите что-то вроде такого: Код:
p.p.s. То, что пользователь написал в начале SELECT совсем даже не означает, что запрос будет корректным и правильно выполнится! для пробы рекомендую попробовать выполнить запрос вида select select |
||
22.10.2012, 16:55 | #6 | |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,022
|
Цитата:
тут надо оформлять через executesql или подобное. |
|
22.10.2012, 16:57 | #7 |
Пользователь
Регистрация: 12.09.2011
Сообщений: 13
|
Если после запуска программы вводить запрос типа Insert, то выдает ошибку. Если после запуска вводить запрос Select - он работает, а после него и Insert начинает работать)
Спасибо большое, код работает. Я правильно понял, что если изменить код, Код:
|
22.10.2012, 17:24 | #8 |
Участник клуба
Регистрация: 07.07.2007
Сообщений: 1,518
|
CREATE DATABASE,CREATE TABLE - вы такие запросы разрешаете делать пользователям? Круто. Уж, лучше сразу сделать красную кнопку DROP DATABASE
|
22.10.2012, 17:29 | #9 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,022
|
на то есть политика юзверей, отрубите им такие привелегии и делов.
|
22.10.2012, 18:05 | #10 |
Пользователь
Регистрация: 12.09.2011
Сообщений: 13
|
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Авто-копирование строки вниз при заполнении текущей (или авто-отображение скрытой ниже) | bygaga | Microsoft Office Excel | 6 | 25.11.2011 14:46 |
Open GL, C++ | Алина_258 | Помощь студентам | 6 | 18.06.2011 18:53 |
как реализовать авто-выбор | S_Yevgeniy | Помощь студентам | 6 | 23.07.2010 10:39 |
win98 и ExecSQL | Tanuska___:) | БД в Delphi | 17 | 02.07.2009 11:35 |
Два запроса - один ExecSQL | EdNovice | БД в Delphi | 1 | 27.06.2007 17:33 |