![]() |
|
![]() ![]() ![]() |
|
ura5 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 12.4.2007 Репутация: нет Всего: нет |
//Выбираем sql
M_Lsab->ADOQueryLsab->SQL->LoadFromFile("Lsab2.sql"); Str1 = M_Lsab->ADOQueryLsab->SQL->Text; //Выбираем куда грузить набор данных из таблицы M_Lsab->DataSourceLsab->DataSet = M_Lsab->ADOQueryLsab; //Связываем возвращаемый набор данных и визуальные компоненты DBGrid1->DataSource = M_Lsab->DataSourceLsab; DBNavigatorSprLsab->DataSource = M_Lsab->DataSourceLsab; //открываем M_Lsab->ADOQueryLsab->Open(); ВОПРОС: 1. Как проверить БД на пустоту и выдать при этом сообщение 2. Как проверить БД на правильность структуры (т.е. ,если вдруг поменялась структура таблицы,то мой SQL-запрос не сработает и мне при этом надо выдать сообщение-обработать ошибку). Я не знаю обработку ошибок . Спасибо. |
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
1. У TADOQuery есть метод IsEmpty()
2. В достаточной мере зависит от СУБД (хотя может быть можно использовать TADOCommand - тут я не особо петрю) |
|||
|
||||
ura5 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 12.4.2007 Репутация: нет Всего: нет |
M_Lsab->ADOQueryLsab->Open();
if ( M_Lsab->ADOQueryLsab->IsEmpty()) ShowMessage("Справочник пуст!"); Спасибо |
|||
|
||||
ura5 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 12.4.2007 Репутация: нет Всего: нет |
M_Lsab->ADOQueryLsab->SQL->LoadFromFile("Lsab2.sql");
ВОПРОС: Как проверить существование этого запроса? Есть он или нет? То же самое что спросить есть ли таблица или нет. Спасибо. |
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
На счет файла - легко if (FileExists("..."))
На счет таблицы - универсальный ловить исключение, если запрос не открылся или смотреть документацию БД |
|||
|
||||
IgorDV |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 60 Регистрация: 14.4.2007 Репутация: нет Всего: нет |
Если СУБД Oracle, то можно так проверить на существование таблиц
![]() |
|||
|
||||
Coala |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 4.5.2006 Где: Москва Репутация: нет Всего: 0 |
Это - самый примитивный обработчик. |
|||
|
||||
Nat |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 16.4.2007 Репутация: нет Всего: нет |
Здравствуйте! Подскажите, пожалуйста, как проверить выполнение ADOQuery1->ExecSQL()? InEmpty() в данной ситуации не работает.
|
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
||||
|
||||
Nat |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 16.4.2007 Репутация: нет Всего: нет |
Да я бы с радостью! Только у меня Builder без Help'а :(
|
|||
|
||||
ura5 |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 133 Регистрация: 12.4.2007 Репутация: нет Всего: нет |
Спасибо за запрос.
Извините за неграммотность.Я работаю в СУБД Oracle.Но не на сколько его знаю. Этот запрос отработал на Oracle и вернул число записей ноль.Я поставила вместо tabl1,...,tabl6 имена таблиц (TABLES). Я не поняла что это за /*'TABLE'...*/ Видимо,что-то здесь свое надо поставить.Не знаю что. Помогите Добавлено через 8 минут и 55 секунд ВСЕ РАБОТАЕТ.СПАСИБО. |
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
||||
|
||||
Coala |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 70 Регистрация: 4.5.2006 Где: Москва Репутация: нет Всего: 0 |
||||
|
||||
Nat |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 45 Регистрация: 16.4.2007 Репутация: нет Всего: нет |
Мне и надо изменить данные
![]() |
|||
|
||||
Anikmar |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2513 Регистрация: 26.11.2006 Где: Санкт-Петербург Репутация: 34 Всего: 59 |
Хелп по функции Exec
Executes the SQL statement for the ADO query. int __fastcall ExecSQL(void); Description Call ExecSQL to execute the SQL statement currently assigned to the SQL property. Use ExecSQL to execute queries that do not return a cursor to data (such as INSERT, UPDATE, DELETE, and CREATE TABLE). ExecSQL returns an integer value reflecting the number of rows affected by the executed SQL statement. Note: For SELECT statements, call Open instead of ExecSQL or set the Active property to true. To speed performance, an application should ordinarily prepare the query by setting the Prepared property to true before calling ExecSQL for the first time. |
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++ Builder" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C++ Builder | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |