Registriert seit: 24. Aug 2012
16 Beiträge
|
AW: MySQL ohne Komponenten
24. Aug 2012, 11:44
Hey Leute,
hab leider ein kleines Problem... muss dazu sagen, bin Delphi Anfänger.
Kriege bei Auführung des Scripts die Meldung "Zugriffsverletzung bei Adresse 004532DF in Modul 'Project1.exe'. Lesen von Adresse 00000004"
Die angeforderten Daten werden allerdings ausgegeben.
Hier mein Code:
Delphi-Quellcode:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, mySQL;
type
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private-Deklarationen }
public
_myCon: PMySQL; //unseren Verbindungsdeskriptor
host, user, pass, db: PAnsiChar; //die Anmeldedaten
_myRes: PMySQL_Res; //hier wird der gesamte Ergebnissatz gespeichert
_myRow: PMySQL_Row; //enthält den aktuellen Datensatz
query: PChar;
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCreate(Sender: TObject);
var
name: string;
i: integer;
begin
host := ' localhost';
user := ' root';
pass := nil;
db := ' bestellwesen';
//jetzt wird _myCon initialisiert
libmysql_load( nil);
_myCon := mysql_init( nil);
mysql_real_connect(_myCon, host, user, pass, db, 3306, nil, 0);
if _myCon = nil then
begin
showmessage(' Verbindung konnte nicht hergestellt werden.');
end;
showmessage(' OK');
query := PChar(' Select * FROM verkaufer WHERE id=1');
mysql_real_query(_myCon, PAnsiChar( query), Length( query));
_myRes := mysql_store_result(_myCon);
for i := 0 to mysql_num_rows(Form1._myRes) do
begin
_myRow := mysql_fetch_row(_myRes); //Datensatz abholen
name := form1._myRow[1]; // In dieser Zeile gibt der Compiler den Fehler an]
showmessage( name); // Hier wird noch ein resultat ausgegeben, danach erfolgt der Fehler.
end;
mysql_free_result(_myRes);
end;
end.
|
|
Zitat
|