Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 11.03.2016
Сообщений: 4
1
Interbase

Как передать параметр в ModifySQL

23.12.2017, 04:13. Показов 1095. Ответов 2

Author24 — интернет-сервис помощи студентам
Здравствуйте, не могу передать параметр из DBGrid в ModifySql
Интересует как передать параметры :Num_passage_old и :Start_date_old которые отсутствуют в SelectSql
Сам Modyfy:
SQL
1
EXECUTE PROCEDURE UPD_CAR_PASSAGE :Num_passage, :Num_car, :Start_date, :Finish_date, :Weight, :Num_passage_old, :Start_date_old
SelectSql:
SQL
1
2
3
4
SELECT PASSAGE.NUM_PASSAGE, CAR_PASSAGES.Num_car, PASSAGE.PASSAGE_NUMBER, PASSAGE.STARTING_POINT, PASSAGE.DESTINATION, CAR_PASSAGES.START_DATE, CAR_PASSAGES.FINISH_DATE, CAR_PASSAGES.WEIGHT, PASSAGE. DISTANCE
FROM PASSAGE, CAR_PASSAGES
WHERE CAR_PASSAGES.Num_car = :nc 
AND CAR_PASSAGES.Num_passage = Passage.Num_passage
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
with DM.DSCarPassage.DataSet do
  begin
    Open;
    Edit;
    FieldByName('Num_car').AsInteger := FCars.DBGrid1.DataSource.DataSet.FieldByName('Num_car').AsInteger;
    FieldByName('Passage_number').AsString := DBLookupComboBox1.Text;
    FieldByName('Num_passage').AsInteger := DBLookupComboBox1.KeyValue;
    FieldByName('Start_date').AsDateTime:= DateTimePicker1.Date;
    FieldByName('Finish_date').AsDateTime:= DateTimePicker2.Date;
    FieldByName('Weight').AsInteger := SpinEdit1.Value;
    POST;
    Close;
    Open;
end;
Пробовал так:
Pascal
1
2
3
4
5
    DM.IBCarPassage.UnPrepare;
    DM.IBCarPassage.ParamByName('Num_passage_old').Value := FCarPassages.DBGrid1.DataSource.DataSet.FieldByName('Num_passage').AsInteger;
    DM.IBCarPassage.ParamByName('Start_date_old').AsDate := FCarPassages.DBGrid1.DataSource.DataSet.FieldByName('Start_date').Value;
    DM.IBCarPassage.Prepare;
    DM.IBCarPassage.Open;
Но выдает ошибку, что поле Num_passage_old не найдено
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.12.2017, 04:13
Ответы с готовыми решениями:

Как передать параметр из jsp java страницы в функцию javascript и возвратить обратно другой параметр
На jsp странице имеется динамически формируемая таблица с чекбоксами в первой колонке каждой строки...

Как передать параметр?
Вопрос как сделать так чтобы в методе класса в качестве параметра передавать указатель на этот...

Как передать параметр
Привет всем ! Подскажите как передать параметр в контроллер. То есть ввожу значение в текстбокс, и...

Как передать и якорь и параметр?
Т.е. есть файл default.asp, в котором есть якорь с именем ch345 (например) и еще в него передается...

2
5791 / 4532 / 1432
Регистрация: 14.04.2014
Сообщений: 20,176
Записей в блоге: 20
23.12.2017, 14:57 2
сначала замечания
1.зачем вам Prepare / Unprepare ? Оно и без вас чудесно справится.

2. зачем вот эта цепь - FCarPassages.DBGrid1.DataSource.DataSet ?
вы не знаете, к какому датасету сейчас подключен DBGrid и не можете его указать прямо, без кучи ссылок?

по вопросу
не находит, потому что выполняет Open
а Open - это Select. там нет таких параметров.
Думаю, что IBX просто не готово иметь новые поля в ModifySQL

если у вас такой сложный случай, может вам отдельно стоит выполнять Modify, в отдельном Query?
1
0 / 0 / 0
Регистрация: 11.03.2016
Сообщений: 4
23.12.2017, 16:34  [ТС] 3
Цитата Сообщение от krapotkin Посмотреть сообщение
сначала замечания
1.зачем вам Prepare / Unprepare ? Оно и без вас чудесно справится.

2. зачем вот эта цепь - FCarPassages.DBGrid1.DataSource.DataSet ?
вы не знаете, к какому датасету сейчас подключен DBGrid и не можете его указать прямо, без кучи ссылок?

по вопросу
не находит, потому что выполняет Open
а Open - это Select. там нет таких параметров.
Думаю, что IBX просто не готово иметь новые поля в ModifySQL

если у вас такой сложный случай, может вам отдельно стоит выполнять Modify, в отдельном Query?
1. Искал в чем проблема, пробовал разные методы, оставил так
2. У меня несколько форм, и на каждой есть DBGrid, этим кодом беру данные с другой формы

Решил проблему добавив компонент IBStoredProc на DataModule и вызывая процедуру изменения записи с помощью этого компонента.
0
23.12.2017, 16:34
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
23.12.2017, 16:34
Помогаю со студенческими работами здесь

Как передать параметр в поток?
Здравствуйте, помогите с кодом, сделал так, оно выводит 200 раз по 200 строк, а необходимо что бы...

Как передать параметр в слот?
Привет. Вопрос такой. Как в слот передать параметр? Где то вроде бы читал, что количество...

Как передать параметр в URL?
Есть переменная $SG=1; То есть при формировании страницы мы уже ее преопределили. Нам же нужно...

Как передать параметр в функцию?
#include "stdafx.h" #include <iostream> using namespace std; void test(int); int main() {...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru