Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Никак не могу найти пример работы с ADO 
:(
    Опции темы
Gunslinger
Дата 14.1.2009, 17:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 842
Регистрация: 30.12.2006
Где: Астрахань

Репутация: нет
Всего: 3



Цитата(Данкинг @  14.1.2009,  13:55 Найти цитируемый пост)
Не знаю тогда, я всё так же пишу, и работает. Попробуй на самом фоксе те же данные ввести. 

с фокса нормально вводятся. Если бы вообще не вставлялось, а тут один раз делает инсерт - и все, дальше ошибка. Раз работает, скорее всего я настройки компонентов неправильно сделал... Либо с драйвером проблема, но не думаю. 
PM MAIL   Вверх
Данкинг
Дата 14.1.2009, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



А строка подключения какая?


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Gunslinger
Дата 15.1.2009, 09:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 842
Регистрация: 30.12.2006
Где: Астрахань

Репутация: нет
Всего: 3



Привет! Строка подключения: 
Код

Provider=VFPOLEDB.1;Data Source=D:\MY_PROGRAM;Mode=Share Deny None;
Extended Properties="";User ID="";Password="";Mask Password=False;
Cache Authentication=False;Encrypt Password=False;Collating Sequence=MACHINE;DSN=""

Из компонентов на форме: ADOConnection, ADOQuery.
Выставил в проперти ADOConnection Connected=true, проперть Mode выставилась в: cmShareDenyNone


Это сообщение отредактировал(а) Gunslinger - 15.1.2009, 09:15
PM MAIL   Вверх
Данкинг
Дата 15.1.2009, 11:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



У меня строка подключения всегда короче, типа такой:

'Provider=VFPOLEDB.1;Data Source=D:\MY_PROGRAM;Password="";Collating Sequence=MACHINE'

Кстати, пробелов в пути к таблице нет?



--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Gunslinger
Дата 15.1.2009, 15:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 842
Регистрация: 30.12.2006
Где: Астрахань

Репутация: нет
Всего: 3



Цитата(Данкинг @  15.1.2009,  11:52 Найти цитируемый пост)

Кстати, пробелов в пути к таблице нет?

нет.
Попробовал твою строку сокращенную - та же песня. Привязался к этому Parameter... Ты в кверях какие свойства настраиваешь (если запрос не в проперти, а в коде)? Вообще "критические" настройки у этих компонентов (кроме строки подключения) есть?
PM MAIL   Вверх
Данкинг
Дата 15.1.2009, 23:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(Gunslinger @  15.1.2009,  15:18 Найти цитируемый пост)
Ты в кверях какие свойства настраиваешь

Ничего не настраиваю кроме привязки к AdoConnection... Ну а если в самом запросе вместо параметров написать "aaaa", "bbbb", будет работать?!


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Gunslinger
Дата 16.1.2009, 11:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 842
Регистрация: 30.12.2006
Где: Астрахань

Репутация: нет
Всего: 3



Сюда я помещал листинг без закомментированной строки
Код

ADOQuery2->SQL->Clear();

, а в коде так:
Код

//ADOQuery1->Close();
ADOQuery1->SQL->Clear(); <---------раскомментировал - заработало
ADOQuery1->SQL->Add("insert into MAIN(Name,Fam) values(:Name, :Fam)");
ADOQuery1->Parameters->ParamByName("Name")->Value="aaaa";
ADOQuery1->Parameters->ParamByName("Fam")->Value="bbbb";
ADOQuery1->ExecSQL();

Извини за шухер. 

Зачем нужен Close()? Это если в связке с Open() - сначала сформировал запрос, затем только открыл соединение?
Теперь про select, delete, update. По прмеру кода Родмана:
Код

ADOQuery2->SQL->Clear();
ADOQuery2->SQL->Add("delete from MAIN where (Name=:Name)");
ADOQuery2->Parameters->ParamByName("Name")->Value="od";
ADOQuery2->ExecSQL();

Ошибки не выдает, но и не удаляет. Сделал через квери1 - так же.
PM MAIL   Вверх
Gunslinger
Дата 20.1.2009, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 842
Регистрация: 30.12.2006
Где: Астрахань

Репутация: нет
Всего: 3



Код

{
ADOQuery2->SQL->Clear();
ADOQuery2->SQL->Add("delete from MAIN(Name,Fam) where Name=:Name;");
ADOQuery2->Parameters->ParamByName("Name")->Value="od";
ADOQuery2->ExecSQL();
}


Variable 'NAME' is not found. 
PM MAIL   Вверх
Rodman
Дата 20.1.2009, 21:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


Профиль
Группа: Участник
Сообщений: 6144
Регистрация: 7.5.2006
Где: Ukraine ⇛ Kyiv ci ty

Репутация: 7
Всего: 122



NAME - это зареганное слово
Код

{
ADOQuery2->SQL->Clear();
ADOQuery2->SQL->Add("delete from MAIN where [Name]=:Prm;");
ADOQuery2->Parameters->ParamByName("Prm")->Value="od";
ADOQuery2->ExecSQL();
}
а так?
PM MAIL WWW Skype GTalk YIM MSN   Вверх
Gunslinger
Дата 21.1.2009, 09:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 842
Регистрация: 30.12.2006
Где: Астрахань

Репутация: нет
Всего: 3



Цитата(Rodman @  20.1.2009,  21:13 Найти цитируемый пост)
а так?

опять про Name кричит. Сменил условие на второе поле, благо табличка тестовая.
Код

ADOQuery2->SQL->Clear();
ADOQuery2->SQL->Add("delete from MAIN where Fam=:Prm;");
ADOQuery2->Parameters->ParamByName("Prm")->Value="bbbb";
ADOQuery2->ExecSQL();
}

Теперь молчит, но не удаляет, хотя в табличке таких записей есть.
Name - зарегина ADO?
В пропертях квери кроме строки подключения к ADOConnection больше ничего указывать не нужно?
PM MAIL   Вверх
Данкинг
Дата 21.1.2009, 11:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Yersinia pestis
****


Профиль
Группа: Завсегдатай
Сообщений: 8302
Регистрация: 7.11.2006
Где: მოსკოვი

Репутация: 11
Всего: 130



Цитата(Rodman @  20.1.2009,  21:13 Найти цитируемый пост)
NAME - это зареганное слово

Я про это подумал, но не сказал, поскольку фокс и так работает обычно.

Цитата(Gunslinger @  16.1.2009,  11:34 Найти цитируемый пост)
Теперь про select, delete,

По поводу delete: ведь на фоксе "delete from..." только помечает на удаление, а для физического удаления нужно ввести команду "pack". А вот как это сделать запросом через ADO - я так и не выяснил. smile 

Цитата(Gunslinger @  16.1.2009,  11:34 Найти цитируемый пост)
Зачем нужен Close()? 

Чтобы кверя была закрыта, пока ты с ней что-то там делаешь.

Добавлено через 3 минуты и 32 секунды
Цитата(Gunslinger @  21.1.2009,  09:56 Найти цитируемый пост)
Name - зарегина ADO?

Сколько я с фоксом работаю - проблем с полем NAME никогда не возникало...

Это сообщение отредактировал(а) Данкинг - 21.1.2009, 11:49


--------------------
There's nothing left but silent epitaphs.
PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0629 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.