DELPHI + MySQL probléma
2003-05-30T14:16:45+02:00
2003-05-30T14:16:45+02:00
2022-07-27T18:52:53+02:00
  • Üdv!

    Sürgős segítségre lenne szükségem, DELPHI + MySQL problémám van, tanácstalan vagyok, hogy az alábbi helyzetben mit kéne tennem:

    Adott egy tábla, melyből le szeretné kérdezni valaminek a darabszámát (pl. egy adott nevű terméknek), a következő SQL
    parancsot adtam ki:

    SELECT termek_nev, count(termek_nev)
    FROM termekek
    GROUP by termek_nev

    Ezzel eddig nem is lenne probléma. Az eredményt egy DBGrid-ben szeretném megjeleníteni, jókisfiú módjára szerkesztési időben
    fel is vettem a megfelelő mezőket a Query-ben, illetve a DBGrid Fields Editorában, az eredmény meg is jelenik helyesen.
    A probléma ott kezdődik, ha üres az adott tábla Ilyenkor a következő EDataBaseError típusú kivétel keletkezik:
    "Type mismatch for field 'count(termek_nev)', expecting LargeInt actual: Integer." Process stopped, blablabla...

    Bár pontosan nem értem a dolgot, sejtésem szerint az a baja, hogy a Query-ben a 'count(termek_nev)' nevű mező Integer-ként
    van megadva, de LargeInt típusú adat érkezett a kiszolgálótól és ebből típuskeveredés lett (bár nem értem, hogy a LargeInt
    miért keveredik az Integer-rel). Gondoltam kitolok vele, és átállítom a mezőt Integer-ről LargeInt-re, működik is a dolog
    egészen addig, míg nem kerül egynél több adat a táblába, ekkor szintén a fenti kivétel keletkezik, csak akkor arra panaszkodik,
    hogy "expecting: Integer actual: LargeInt."

    Tud valaki megoldást arra, hogy minden esetben jól működjön a dolog? Már korábban is előjött ez a probléma, akkor nem igazán
    foglalkoztam vele, egyszerűen "átléptem" a kivételt, de egyre több helyen használom a megszámlálást, így egyre több helyen
    jelentkezik a probléma, ezért mindenképpen kellene valami megoldás a dologra.

    Előre is köszönöm a segítséget, remélem válaszol valaki.

    K. Balu

    u.i: A MySQL kiszolgáló eléréséhez a ZeosDBO nevű komponenst használom a Delphi 5.0 Enterprise változatával
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd