Поиск:

Ответ в темуСоздание новой темы Создание опроса
> параметр Query 
:(
    Опции темы
meta
Дата 24.12.2007, 08:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 20.10.2007

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



Не пойму как передать объекту Query параметр и как им воспользоваться. 
PM MAIL   Вверх
Syrex
Дата 24.12.2007, 09:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 262
Регистрация: 9.2.2006
Где: Москва

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



Код

AnsiString Q="select * from Table  where A=:val";

ADOQuery->Parameters->Items[0]->Value=val

PM MAIL ICQ   Вверх
meta
  Дата 24.12.2007, 10:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 20.10.2007

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



Спасибо, за помощь.

Я попробывал со своими компонентами:
Код

int val = 1;
 Form2->Query1->Params->Items[0]->Value=val;


и запрос у меня Select * From Food Where FoodID=:val

получил ошибку: field val not found :(


А вот ещё вопрос. Как лучше организовать ввод/редактирование/удаление  записей из таблицы? Использовать запросы с параметрами или есть какие то другие способы через bdgrid?[quote]



Это сообщение отредактировал(а) meta - 24.12.2007, 11:02
PM MAIL   Вверх
meta
Дата 24.12.2007, 17:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 20.10.2007

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



Народ, не подскажите в чём проблема?
PM MAIL   Вверх
Rodman
Дата 24.12.2007, 18:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


CIO
****


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

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



Код

ADOQuery->Close;
ADOQuery->SQL->Clear;
ADOQuery->SQL->Add("select A from Table  where A=:val;");
ADOQuery->Parameters->ParamByName("val")->Value=Znachenie;
ADOQuery->Open;


Добавлено через 49 секунд
[quote=meta, 24.12.2007,  10:16, post1359400]А вот ещё вопрос. Как лучше организовать ввод/редактирование/удаление  записей из таблицы? Использовать запросы с параметрами или есть какие то другие способы через bdgrid?
Цитата


M
Rodman
Модератор: Пожалуйста, один топик - один вопрос.

PM MAIL WWW Skype GTalk YIM MSN   Вверх
meta
Дата 24.12.2007, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 20.10.2007

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



Странно, запрос обновляется, а вот  изменения  в таблице не происходят..

Код

        int i= getNumber();

        Form2->Query2->Close();
        Form2->Query2->SQL->Clear();
        Form2->Query2->SQL->Add(" SELECT * FROM Products WHERE InvoiceID=:val");
        Form2->Query2->Params->ParamByName("val")->Value=i;
        Form2->Query2->Open();
        Form2->DBGrid3->Refresh();


Это сообщение отредактировал(а) meta - 24.12.2007, 18:57
PM MAIL   Вверх
Anark1
Дата 24.12.2007, 19:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 622
Регистрация: 15.12.2006
Где: RF -> Moscow

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



meta, откуда браться изменениям ?


--------------------
Enjoy yourself, still you can...;)

user posted image

user posted image
PM MAIL ICQ   Вверх
meta
Дата 24.12.2007, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 20.10.2007

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



Anark1, япытаюсь изменить запрос на который привязан датасорс1, а на даатасорс1 привязан дбгрид.

Я представляю так, что если мы изменим запрос  и потом вызовим метод рефреш нашего дбгрида то он по идее должен обновится..

P.S. Может быть я вставил код не туда? Я его положил в DBGrid1Enter 
PM MAIL   Вверх
Anark1
Дата 24.12.2007, 20:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 622
Регистрация: 15.12.2006
Где: RF -> Moscow

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



meta, читай основы бд... запрос нужно прежде всего выполнить

Добавлено через 15 секунд
500ый пост smile


--------------------
Enjoy yourself, still you can...;)

user posted image

user posted image
PM MAIL ICQ   Вверх
meta
Дата 24.12.2007, 20:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 53
Регистрация: 20.10.2007

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



Цитата

запрос нужно прежде всего выполнить
Добавлено через 15 секунд
500ый пост smile 


выполнил, всё равно не обновляется. 

Код

Form2->Query2->Close();
        Form2->Query2->SQL->Clear();
        Form2->Query2->SQL->Add(" SELECT * FROM Products WHERE InvoiceID=:val");
        Form2->Query2->Params->ParamByName("val")->Value=2;
        Form2->Query2->Open();
        Form2->Query2->ExecSQL();
        Form2->DBGrid3->Refresh();


P.S. 52 постsmile
PM MAIL   Вверх
Anark1
Дата 24.12.2007, 21:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 622
Регистрация: 15.12.2006
Где: RF -> Moscow

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



meta, читай основы ! ты понимаешь что ты пишешь ?

1. Если вызывается метод 
Form2->Query2->SQL->Clear();
то
Form2->Query2->Close(); не нужен

2. Form2->Query2->Open(); и Form2->Query2->ExecSQL();
вместе существовать не могут в принципе. ExecSQL для запросов, которые не возвращают набор записей, Open - для запросов, которые возвращают.

3. Что значит не обновляется ? Ты выполняешь запрос, изменяя какой то параметр, в результате будет набор записей, который удовлетворяет новому условию отбора.


--------------------
Enjoy yourself, still you can...;)

user posted image

user posted image
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

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

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

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

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


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

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


 




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


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

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