powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ADO - query
5 сообщений из 5, страница 1 из 1
ADO - query
    #32690560
Eugen Rata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет

вопросик: как при помощи АДО узнать sql-запрос который имеет в себе некоторый query?

хотя проблема стоит таким образом.
есть некоторая база которая постовляется с программой.
иногда программа обновляется и вместе с ней также и структура базы,
вот и возникает вопрос, как обновить структуру базы у клиента без потери даных?
решения пока нашел только для таблиц, просто создаю sql-statement alter table ... (так как структру таблицы через АДО узнать не проблема) и все четко работает, но вот как вытащить запрос для query из новой базы и сделать алтер в старой, ума не приложу :(

как сделать такую вещь?

Спасибо
...
Рейтинг: 0 / 0
ADO - query
    #32690596
Фотография Pavel
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Написать программку, анализирующую изменения в базе и генерящую скрипт... Или копать в сторону ErWin, PowerDesigner - возможно они это умеют, точно не знаю. Спроси тут.
...
Рейтинг: 0 / 0
ADO - query
    #32690613
aleks2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
INFORMATION_SCHEMA.VIEWS

Contains one row for views accessible to the current user in the current database. The INFORMATION_SCHEMA.VIEWS is based on the sysobjects and syscomments system tables.


Column name Data type Description
...
VIEW_DEFINITION nvarchar(4000) If the length of definition is greater than nvarchar(4000), this column is NULL; otherwise, this column is the view definition text.
...

аналогично для хр. процедур
INFORMATION_SCHEMA.ROUTINES

--------
Проблема с "If the length of definition is greater than nvarchar(4000), " объезжается прямым обращением к системным таблицам.
...
Рейтинг: 0 / 0
ADO - query
    #32690784
Eugen Rata
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
такой код что-то не хочет работать
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
procedure TForm1.Button3Click(Sender: TObject);
var
  t : TADOTable;
  l : TStringList;
begin
  t := TADOTable.Create( nil );
  t.Connection := ADOConnection1;
  t.TableName :=  'InformationSchema.VIEWS'; 
  t.Active := true;

  t.Active := false;
  t.Free;
end;
вылетает такая ошибка,
---------------------------
Debugger Exception Notification
---------------------------
Project Project1.exe raised exception class EOleException with message 'Could not find file 'F:\Projects_Delphi\ViewsNames\InformationSchema.mdb''. Process stopped. Use Step or Run to continue.
---------------------------
OK Help
---------------------------

для доступа к БД использую Microsoft.Jet.OLEDB.4.0 и компоненты АДО из Делфи 7.

вы уверенны что это работает для Ms Access?
...
Рейтинг: 0 / 0
ADO - query
    #32690815
aleks2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SELECT * FROM InformationSchema.VIEWS

InformationSchema.VIEWS - это не таблица, это представление (View).

и это работает не для Access или еще что-то - это работает для стандартного SQL.
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / ADO - query
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]