DBGRID problem z wyciągnięciem danych.

Problemy związane z tworzeniem i zarządzaniem programami bazo-danowymi.
Regulamin działu


Zadając pytania dotyczące baz danych należy podawać szczegółowe informacje o bazie danych nad którą się pracuje, czyli:

  • Rodzaj serwera bazodanowego: MySql, MSSQL, Oracle itp.
  • Wersja bazy danych
  • Technologia bazodanowa używana w programie: ADO, DbExpress, InterBase
  • Komponenty użyte do zestawienia połączenia: ADOConnection, SqlConnection
  • Sposób zestawienia komponentów bazodanowych np. DataSet - DataSource - DbGrid lub DataSet - DataSetProvider - ClientDataSet - DataSource - DbGrid
  • Jeżeli używane były biblioteki innych firm niż Borland, CodeGeer i Embarcadero proszę podać ich nazwy, numer wersji i adres źródła.

DBGRID problem z wyciągnięciem danych.

Nowy postprzez kade1982 » poniedziałek, 10 stycznia 2011, 01:47

Witam,

Mam następujący problem. Wyciągam dane z bazy danych (Interbase) do komponentu DBgrid, następnie chce zapisać te dane w formie pliku XML. Mam działające procedury na komponencie StrinGrid, lecz w przypadku DBgrid'a zauważyłem że nie da się określić ilości wierszy i wyciągać danych tak jak w StringGrid. Może któryś z kolegów spotkał się z takim problemem. Interesuje mnie czy można to jakoś obejść ? np. Konwersja Dbgrid na StringGrid ?

Całość piszę w bcb6.
Avatar użytkownika
kade1982
Bladawiec
Bladawiec
 
Posty: 7
Dołączył(a): sobota, 2 stycznia 2010, 23:01
Podziękował : 2
Otrzymał podziękowań: 0
System operacyjny: Windows XP Pro SP2
Kompilator: C++ Builder
    Windows VistaFirefox

Re: DBGRID problem z wyciągnięciem danych.

Nowy postprzez Corvis » poniedziałek, 10 stycznia 2011, 11:04

A jak masz zestawione komponenty ??


Czyli co masz przed TDataSource:

...???... -> DataSource -> DBGrid


DataSeta czy Query jakieś ??


Żeby to zrealizować musisz włączyć w te zestawiania komponentów: TClientDataSet on jest w stanie ci powiedzieć ile wierszy zwraca zapytanie Sql.
Napisz jak te zestawienie to ci to powiem jak to zrobić
"Sukcesy trwają, dopóki ich ktoś nie spieprzy. Porażki są wieczne"

Dr Gregory House
Avatar użytkownika
Corvis
Programista I
Programista I
 
Posty: 880
Dołączył(a): sobota, 26 lipca 2008, 00:31
Podziękował : 80
Otrzymał podziękowań: 30
System operacyjny: WINDOWS 7 64-bity
Kompilator: Praca - C++ Builder XE2 ENTERPRISE - Update 4, Dom - C++ Builder XE4 - Uddate 1
Gadu Gadu: 0
    Windows VistaChrome

Re: DBGRID problem z wyciągnięciem danych.

Nowy postprzez kade1982 » poniedziałek, 10 stycznia 2011, 17:03

Mam:

IBTrabsaction->IBQuery->DataSource->DBGrid

kolejna nasuwająca się rzecz:
Zakładając że ustalę liczbę wierszy w DBGrid, wyciągam dane z wiersza przez DataModule->IBQuery->Fields->FieldsByNumber(numerkolumny)->Value; to i tak mam problem jak schodzić w dół z odczytem wierszy? Zrobiłem próbną pętle, ale zawsze wyciąga dane tylko z pierwszej pozycji.

W zasadzie wyświetlenie danych w DBgridzie nie jest mi koniecznie potrzebne,szukam sposobu który dane z zapytania SQL pozwoli mi zapisać do Tablicy lub StringGrid skąd sobie je wyciągnę.
Avatar użytkownika
kade1982
Bladawiec
Bladawiec
 
Posty: 7
Dołączył(a): sobota, 2 stycznia 2010, 23:01
Podziękował : 2
Otrzymał podziękowań: 0
System operacyjny: Windows XP Pro SP2
Kompilator: C++ Builder
    Windows VistaFirefox

Re: DBGRID problem z wyciągnięciem danych.

Nowy postprzez Corvis » poniedziałek, 10 stycznia 2011, 23:56

IBTrabsaction->IBQuery-> TDataSetProvider -> TClientDataSet ->DataSource->DBGrid

Dodaj takie coś.

DataSetProvider -> DataSet ustaw na IBQuery
ClientDataSet -> PrividerName ustaw na DataSetProvider.

i teraz kolega robi tak:

KOD cpp:     UKRYJ  
// ClientDataSet musi być otwarty przed wykonaniem tego kodu
        while(!ClientDataSet->Eof) {
                // Wyciągnięcie pól np: ClientDataSet->FieldByName("")->AsString;
                ClientDataSet->Next();
        }
 
"Sukcesy trwają, dopóki ich ktoś nie spieprzy. Porażki są wieczne"

Dr Gregory House

Za ten post autor Corvis otrzymał podziękowanie od:
kade1982
Avatar użytkownika
Corvis
Programista I
Programista I
 
Posty: 880
Dołączył(a): sobota, 26 lipca 2008, 00:31
Podziękował : 80
Otrzymał podziękowań: 30
System operacyjny: WINDOWS 7 64-bity
Kompilator: Praca - C++ Builder XE2 ENTERPRISE - Update 4, Dom - C++ Builder XE4 - Uddate 1
Gadu Gadu: 0
    Windows VistaChrome

Re: DBGRID problem z wyciągnięciem danych.

Nowy postprzez kade1982 » środa, 12 stycznia 2011, 18:35

Zadziałało ! Dziękuje za pomoc.
Avatar użytkownika
kade1982
Bladawiec
Bladawiec
 
Posty: 7
Dołączył(a): sobota, 2 stycznia 2010, 23:01
Podziękował : 2
Otrzymał podziękowań: 0
System operacyjny: Windows XP Pro SP2
Kompilator: C++ Builder
    Windows VistaFirefox


  • Podobne tematy
    Odpowiedzi
    Wyświetlone
    Ostatni post

Powrót do Bazy danych

Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zalogowanych użytkowników i 1 gość