Toon posts:

[BCB] Irritante access violation

Pagina: 1
Acties:
  • 105 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Hallo allemaal...

Ik ben nog steeds bezig met mijn C++ app(borland c++ builder 6) gekoppeld aan een MySQL database. Dat koppelen is intussen gelukt, maar nu krijg ik opeens een rare fout. Als ik een aantal keer dezelfde data ophaal uit m'n database, dan krijg ik de volgende error:

'Access violation at address 4032065E in module dbrtl60.bpl'

Ik haal m'n data op de volgende manier op:

TQuery *query = new TQuery(Form1);
query->DatabaseName = "db";
query->SQL->Add("select MEDEWERKER_ICT_NUMMER, MEDEWERKER_ICT_VOORNAAM from MEDEWERKER_ICT where MEDEWERKER_ICT_ACHTERNAAM = :achterNaam");

query->Params->Items[0]->AsString = achterNaam;
query->Active = true;

nummer = query->FieldByName("MEDEWERKER_ICT_NUMMER")->AsInteger;
voorNaam = query->FieldByName("MEDEWERKER_ICT_VOORNAAM")->AsString;

(Ik heb die query wat ingekort anders word het wel erg onoverzichtelijk, maar die query werkt gewoon)


De eerste paar keer gaat het dus gewoon goed maar na een stuk of 7 keer krijg ik opeens bovengenoemde fout. Iemand enig idee wat hier aan de hand is?

  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Waarom wil je die query meerdere keren na elkaar uitvoeren?

Kan het te maken hebben met het aantal open connecties die je naar je DB hebt?

https://fgheysels.github.io/


Verwijderd

Topicstarter
nou het kan toch zijn dat je informatie van meerdere (in dit geval) medewerkers wilt bekijken na elkaar maar nu gaat dat dus fout. Hoe kan ik weten of het aan het aantal connecties kan liggen?

Verwijderd

Topicstarter
ow ik heb um al gevonden... aangezien query in dit geval een pointer is moet je hem natuurlijk wel deleten... 8)7

[ Voor 6% gewijzigd door Verwijderd op 26-09-2003 15:31 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Verwijderd schreef op 26 September 2003 @ 15:28:
nou het kan toch zijn dat je informatie van meerdere (in dit geval) medewerkers wilt bekijken na elkaar maar nu gaat dat dus fout. Hoe kan ik weten of het aan het aantal connecties kan liggen?
Sluit je query als je de info opgehaald hebt.

code:
1
2
3
4
5
6
aQuery->Close();
aQuery->ParamByName ('id').AsInteger = 1;
aQuery->Open();

... lees de info uit
aQuery->Close();

https://fgheysels.github.io/


  • whoami
  • Registratie: December 2000
  • Laatst online: 22:54
Verwijderd schreef op 26 September 2003 @ 15:30:
ow ik heb um al gevonden... aangezien query in dit geval een pointer is moet je hem natuurlijk wel deleten... 8)7
hmmm..... Staat die Query op een form?
Aangezien het een VCL component is, dan moet die Query automatisch gedeleted worden door z'n Owner als die owner gedestroyed wordt dacht ik zo....

[ Voor 5% gewijzigd door whoami op 26-09-2003 15:34 ]

https://fgheysels.github.io/


Verwijderd

Topicstarter
ah dan weet ik dat ook weer, bedankt!

Verwijderd

Topicstarter
whoami schreef op 26 September 2003 @ 15:32:
[...]


hmmm..... Staat die Query op een form?
Aangezien het een VCL component is, dan moet die Query automatisch gedeleted worden door z'n Owner dacht ik zo....
uhm nee die query staat niet op een Form... aangezien hij in een apparte klasse staat... dus vandaar
Pagina: 1