Błąd z wyświetlaniem ilości rekordów

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.

Błąd z wyświetlaniem ilości rekordów

Nowy postprzez mate006 » środa, 16 czerwca 2010, 11:44

Witam

Mam problem z wyświetlaniem ilości rekordów

mój skrypt wygląda następująco:

Kod: Zaznacz cały
DM->SQLDataSet->CommandText = "SELECT * FROM magazyn;";
DM->SQLDataSet->Open();

if (DM->SQLDataSet->RecordCount == 0)
{
   ShowMessage("Nie znaleziono danych");
}
else
{
   ShowMessage("Znaleziono: "+DM->SQLDataSet->RecordCount + " rekordów");
}


Nie wyświetla mi niestety żadnego z powyższych komunikatów tylko:
"commands out of sync; you can't run this command now"

Dodam tylko że na innym formularzu działa ta instrukcja poprawnie
Avatar użytkownika
mate006
Intelektryk
Intelektryk
 
Posty: 145
Dołączył(a): wtorek, 2 marca 2010, 14:12
Podziękował : 7
Otrzymał podziękowań: 0
System operacyjny: Windows 7 Premium 64
Kompilator: Embarcadero® C++Builder® XE
Gadu Gadu: 0
    Windows 7Firefox

Re: Błąd z wyświetlaniem ilości rekordów

Nowy postprzez Corvis » wtorek, 29 czerwca 2010, 14:28

Jakiej ty bazy danych używasz ???

Jak rozumiem - DM to DataModule ??

Najlepiej jest zrobić to tak: (dbExpress) np. na MySql, SqlServerze


SqlConnection

SqlDataSet
DataSetProvider
ClientDataSet



Łączysz komponenty ze sobą.

i teraz działa to tak:

Kod: Zaznacz cały
SqlDataSet->CommandText = "tutaj dodajesz zapytanie";
ClientDataSet->Active = true; // ( lub Open() )


i teraz odwołuj się do ClientDataSet->RecordCount;
Ostatnio edytowano wtorek, 29 czerwca 2010, 16:55 przez Cyfrowy Baron, łącznie edytowano 2 razy
Powód: Dodałem tagi formatujące tekst.
"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 VistaSafari


  • 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 4 gości

cron