ik heb een programma gemaakt dat query's uitvoert op mijn mysql server, dat werkt allemaal ok. Alleen nu wil ik in een procedure in een andere unit me database aanspreken, daarbij loopt me programma steeds vast op:
presults^.row_count;
als ik die waarde probeer uit te lezen dan krijg ik steeds een error.
de query klopt die heb ik al getest in me console, en bij het starten van het programma word er verbonden met een database, en word de goede database geselecteerd.
presults^.row_count;
als ik die waarde probeer uit te lezen dan krijg ik steeds een error.
de query klopt die heb ik al getest in me console, en bij het starten van het programma word er verbonden met een database, en word de goede database geselecteerd.
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
| unit Unit2;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls,_libmysq;
type
TForm2 = class(TForm)
GroupBox2: TGroupBox;
Label6: TLabel;
achtnedit: TLabel;
Label11: TLabel;
VLTedit: TEdit;
ANMedit: TEdit;
GSLcombo: TComboBox;
GroupBox3: TGroupBox;
telnr: TLabel;
Label12: TLabel;
Label13: TLabel;
Label14: TLabel;
Label15: TLabel;
TETedit: TEdit;
TEWedit: TEdit;
GS1edit: TEdit;
GS2edit: TEdit;
EMLedit: TEdit;
GroupBox1: TGroupBox;
adres: TLabel;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label8: TLabel;
Label9: TLabel;
Label10: TLabel;
ST1edit: TEdit;
PC1edit: TEdit;
STFedit: TEdit;
PCFedit: TEdit;
PL1edit: TEdit;
PLFedit: TEdit;
OVVedit: TEdit;
NCDedit: TEdit;
Label7: TLabel;
Memo1: TMemo;
procedure showinfo(id:integer);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
mysqlrec: mysql;
implementation
{$R *.DFM}
procedure tform2.showinfo(id:integer);
var
presults: pmysql_res; //results structure *pointer
prow: pmysql_row; //row structure *pointer
i, j: Integer; //Counter vars
query:string
begin
//query:= 'SELECT Voorl FROM klanten where ID = '+inttostr(id)+' ;'; //Query text
query:= 'SELECT voorl From klanten where ID = 2; ';
presults:= nil;
try
mysql_query(@mysqlrec, PChar(query)); //Send Query to server
presults := mysql_store_result(@mysqlrec); //Store results locally
//HIER LOOPT HIJ VAST,
showmessage(inttostr(presults^.row_count));
for i:= 0 to presults^.row_count do
begin
prow:= mysql_fetch_row(presults);
for j:= 0 to presults^.field_count -1 do
begin
memo1.lines.add(prow^[j]); // Index into row for fields
end;
end;
finally
mysql_free_result(presults); //release the stored results from memory
end;
end;
end. |