Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
15-1358803496
N.Cage
2013-01-22 01:24
2013.06.02
Защита приложений


2-1351748364
braza
2012-11-01 09:39
2013.06.02
потоки->логи


15-1358856295
Пинта Виски
2013-01-22 16:04
2013.06.02
Изменить чарсет сервера (Oracle)


2-1351589231
Сергей
2012-10-30 13:27
2013.06.02
Функция CreateDIBSection Не создается палитра???


6-1222503093
Cryxalis
2008-09-27 12:11
2013.06.02
как заставить INDY юзать уже занятый порт?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский