Форум: "Начинающим";
Текущий архив: 2013.06.02;
Скачать: [xml.tar.bz2];
ВнизКак обновить данные в DBGrid Найти похожие ветки
← →
FIL-23 (2012-10-26 19:55) [0]Сначало код.
//******************************************************************************
//******************************************************************************
function select_STREET(ID_DISTRICT:integer):TIBQuery;
begin
with form1 do
begin
IBQuery1.Active := False;
IBQuery1.SQL.Clear;
IBQuery1.SQL.Add ("select "
+ "STREET.ID,"
+ "STREET.NAME_ "
+ "from DISTRICT inner join STREET ON DISTRICT.ID = STREET.ID_DISTRICT "
+ "where DISTRICT.ID= " + """" + inttostr(ID_DISTRICT) + """");
// IBQuery2.SQL.Add("ORDER BY ID ASC") ;
IBQuery1.Active := true;
select_STREET:=IBQuery1;
end;
end;
//******************************************************************************
//******************************************************************************
потом где используется эта функцияprocedure see_date_fm_STREET_data_7;
var
ID_: integer;
begin
with fm_STREET_data_7 do
begin
ID_ := find_ID_by_PARAM_in_OTHER_TABLE(trim(ComboBox2.Text), "NAME_","DISTRICT");
IBQuery1:=select_STREET(ID_);
end;
end;
И получается что данные в DBGrid не поступают.
Есть какое либо обновление записей в DBGrid?
← →
FIL-23 (2012-10-26 19:57) [1]Уточню , SQL запрос проходит, и данные изменяются , но визуально остается все старые данные, т.е. в DBGrid ни чего не происходит хотя IBQuery уже совсем другой и с другими параметрами
← →
FIL-23 (2012-10-26 20:41) [2]ошибку нашел, ошибка в том что
function select_STREET(ID_DISTRICT:integer):TIBQuery;
не связана с визуальными компонентами.
Поэтому родилась новая проблема , как передать IBQuery в качестве параметра в функцию. пробую такprocedure select_STREET_444(MIBQuery: TIBQuery);
select_STREET_444(IBQuery1)
выдает ошибку .
Т.е. вопрос . как передать компоненту (параметры компоненты) в процедуру/функцию
← →
FIL-23 (2012-10-26 21:03) [3]все нашел ошибку и нашел решение.
Проблем была в том, что в процедура шла работа с "другим"query
не связанным с нужнымDBGrid
поэтому было найдено решение передавать объектquery
в функцию, а потом возращать измененым. Ну это все образно сказано но смысл надеюсь понятен.
кодик для понимания.
//******************************************************************************
//******************************************************************************
function select_STREET(ID_DISTRICT:integer;my_IBQuery:TIBQuery):TIBQuery;
begin
// with form1 do
begin
my_IBQuery.Active := False;
my_IBQuery.SQL.Clear;
my_IBQuery.SQL.Add ("select "
+ "STREET.ID,"
+ "STREET.NAME_ "
+ "from DISTRICT inner join STREET ON DISTRICT.ID = STREET.ID_DISTRICT "
+ "where DISTRICT.ID= " + """" + inttostr(ID_DISTRICT) + """");
// IBQuery2.SQL.Add("ORDER BY ID ASC") ;
my_IBQuery.Active := true;
select_STREET:=my_IBQuery;
end;
end;
//******************************************************************************
//******************************************************************************
procedure see_date_fm_STREET_data_7;
var
ID_: integer;
FG:TIBQuery;
begin
with fm_STREET_data_7 do
begin
ID_ := find_ID_by_PARAM_in_OTHER_TABLE(trim(ComboBox2.Text), "NAME_","DISTRICT");
IBQuery1:= select_STREET(ID_,IBQuery1)
end;
end;
хороший форум , сам задал вопрос , сам на него ответил себе :)
← →
Ghost del vonte © (2012-10-26 22:55) [4]Ответов потому и не было, все и так знали что сам найдешь решение...
форум и правда хороший:)
← →
Anatoly Podgoretsky © (2012-10-27 05:33) [5]> FIL-23 (26.10.2012 20:41:02) [2]
Неужели так и пишет – выдаю ошибку?
← →
Очень злой (2012-11-04 09:36) [6]
> Проблем была в том, что в процедура шла работа с "другим"
> query не связанным с нужным DBGrid поэтому было найдено
> решение передавать объект query в функцию, а потом возращать
> измененым. Ну это все образно сказано но смысл надеюсь понятен.
>
> кодик для понимания.
>
> //******************************************************************************
> //******************************************************************************
> function select_STREET(ID_DISTRICT:integer;my_IBQuery:TIBQuery):
> TIBQuery;
>
> begin
> // with form1 do
> begin
> my_IBQuery.Active := False;
> my_IBQuery.SQL.Clear;
> my_IBQuery.SQL.Add ("select "
> + "STREET.ID,"
> + "STREET.NAME_ "
> + "from DISTRICT inner join STREET ON DISTRICT.ID = STREET.
> ID_DISTRICT "
> + "where DISTRICT.ID= " + """" + inttostr(ID_DISTRICT)
> + """");
> // IBQuery2.SQL.Add("ORDER BY ID ASC") ;
> my_IBQuery.Active := true;
> select_STREET:=my_IBQuery;
> end;
> end;
Что-то я не понимаю какой вообще смысл возвращаемого значения функции, если оно равно одному из аргументов?
← →
Кщд (2012-11-04 12:05) [7]Дорогой ТС:
1. смысла в ф-ции нет;
2. используйте параметры;
3. в данном запросе нет нужды присоединять таблицу district;
4. угадывают сообщения об ошибках на другом форуме;
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2013.06.02;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.002 c