powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / помогите по ADO пожалуйста
7 сообщений из 7, страница 1 из 1
помогите по ADO пожалуйста
    #35002589
caracal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для меня это абсолютно не знакомая тема, т.ч. наверняка вопрос тупой.

Значит в Module - находятся adoconection, datasourse1, adotable1, adoQuery. В форме Form1 - грид, отображает datasourse1, а он подсоединен к adotable1, табличка из файла database.mdb. Нужно сделать запрос select. На обычных базах все получается, а тут не совсем понял. В adoQuery выбрал souse и connection. В форме - на кнопку такой код:
{
String kavichka =" ' ";
Module->Query1->Close();
Module->Query1->SQL->Clear();
String surn = Edit1->Text;
Module->Query1->SQL->Add("Select * from Предприятия where Предприятия.Название='"+surn+"'");
Module->Query1->Open();
}

Изменений на форме не вижу.

Module->ADOTable1->Refresh(); - не помогает

Спасибо.
...
Рейтинг: 0 / 0
помогите по ADO пожалуйста
    #35002782
egorych
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.е. datasource прикручен к table, а запускаем query? и каких изменений мы хотим увидеть? прикрутите datasource к query - будете видеть результаты
...
Рейтинг: 0 / 0
помогите по ADO пожалуйста
    #35004651
caracal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Оно, конечно, логично. Я действовал по аналогии с обычными, а там например писал в этом же коде: Module->DataSource1->DataSet = Module->Query1, и все работало.

Но здесь ни то ни другое не помогло. Получается Table вообще не нужен. прикручиваю datasource к query, а ему пишу только Connection на ADOConection1, грид на форме прикручен к datasource. код процедуры, как я понял, не меняется.Так? Ну вот он выдает ошибку: 'Field 'Key1' not found'. Значит надо еще поля в query прописать? как в Table? Add fields то же не работает, пишет: "Query1: Missing SQL property." Честно, не знаю, что с этим сделать.
...
Рейтинг: 0 / 0
помогите по ADO пожалуйста
    #35006186
Фотография XDiaBLo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы так сделал:
ADOQuery->SQL->Clear();
ADOQuery->SQL->Add( "Select *\
from Предприятия\
where Предприятия.Название=:SURN");
ADOQuery->Parameters->ParamByName("SURN")->Value = Edit1->Text;
ADOQuery->Open();

Связанные переменные это круто!
А по сути вопроса, я так напрямую не привязывал к таблицам, я только нужные столбцы всегда выводил, через ADOQueryProduct->FieldByName( "column_name")->AsString.Trim();
Кроме того, АДОКвери штука странная, иногда тормозит на резвых запросах. Мне больше ODAC нравится, другое дело что это компонент не из стандартной поставки, производства третьих лиц, зато удобство и скорость впечатляют.
...
Рейтинг: 0 / 0
помогите по ADO пожалуйста
    #35007340
caracal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо! я ошибся: и мой, и этот коды - работают. Работает Select *
Не работает такая вешь: Module->Query1->SQL->Add("Select Название from Предприятия");
Хотелось бы с тем же where. Вот в таком случае он и выдает те ошибки.
Опять же Table не учавствует.
В моем случае нужна вообще такая вещь: в одной форме лежит грид он выводит мне табличку из файла .mdb, но без некоторых полей, + поля полученные с помощью другой таблички. Желательно все же мне это оставить(через Table). Надо делать запрос (может в другую форму/грид) типа Query1->SQL->Add("Select Телефон from Предприятия where Предприятия.Название='"+surn+"'");
Думаю можно новый грид прикрутить к новому Source, а его к Query. Но осталась проблема, как делать Select не со *, а с конкретным полем. И будут ли отслеживаться изменения?
Прошу помочь.

И ещё есть такой вопрос: если у меня 2 таблички, прикрученные к ADOConnection1, с одинаковым TableName, то как сделать, чтобы при изменении одной, менялась другая? Refresh отслеживает изменения в значениях, но добавления и удаление записей почему-то нет.
...
Рейтинг: 0 / 0
помогите по ADO пожалуйста
    #35012455
Leshij
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
On Thu, 13 Dec 2007 13:29:36 +0300, caracal <nospam@sql.ru>; wrote:

> И ещё есть такой вопрос: если у меня 2 таблички, прикрученные к
> ADOConnection1,
> с одинаковым TableName, то как сделать, чтобы при изменении одной,
> менялась
> другая? Refresh отслеживает изменения в значениях, но добавления и
> удаление
> записей почему-то нет.

Close();
Open();
?
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
помогите по ADO пожалуйста
    #35013236
caracal
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо огромное! Все заработало.
Сделал в итоге, как хотел таким образом: какие хочу увидеть таблички, такие и делаю tables, прикрученные к ADOConection. На каждый table я делаю DataSource. А запросы SQL я внедрил так: в ADOQuerry я datasource указал один из датасорсов, тем самым получил в распоряжение табличку не напрямую из файла, а переделанную каким-то table-ом. Теперь создаю еще один DataSource и ставлю ему dataset - ADOQuerry. Теперь грид, привязанный к последнему, выдает мне запросы. И главное проблем теперь с запросами нету!
Единственное, я когда пытался поменять name of table, выдаваются ошибки с locate или options для него же. пишет - обращение ни туда. Не пойму почему. Раньше таких ошибок не было.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / помогите по ADO пожалуйста
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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