Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL LogIn (https://www.delphipraxis.net/135339-sql-login.html)

MaToBe 9. Jun 2009 09:27

Datenbank: mySQL • Version: Xampp? • Zugriff über: Ehm per Delphi?

SQL LogIn
 
Guten Tag,

ich wollte mit diesem Tutorial Schrittweise eine Verbindung zu meiner Xampp-Datenbank aufbauen.
http://www.delphipraxis.net/internal...=mysql&start=0

Dich leider hänge ich schon beim 1sten Schritt.

Delphi-Quellcode:
procedure TfrmSQL.SqlVerbindung;
var
  myConnect: PMySQL;                //Verbindungsdeskriptor
begin
  //jetzt wird _myCon initialisiert
  myConnect := mysql_init(nil);
  if myConnect = nil then
  begin
    ShowMessage('Nicht genug freier Speicher, um Verbindungsdeskriptor zu initialisieren');
    Exit;
  end;

  //anschließend wird die Verbindung hergestellt
  if mysql_real_connect(myConnect, PCHar('localhost'), PChar('root'), nil, nil, 3306, nil, 0) = nil then
  begin
    ShowMessage('Die Verbindung konnte nicht hergestellt werden. Ursache: ' + mysql_error(myConnect));
    Exit;
  end;

  ShowMessage('Verbindung hergestellt');

  //zum Schluss wird die Verbindung wieder geschlossen
  mysql_close(myConnect);
end;
Fehlermeldung: "Zugriffsverletzung bei Adresse 0000000 aufgetreten. Schreiben bei Adresse 0000000"

Die mysql.pas aus dem besagten Thread ist installiert. Wir hatten grade in der Schule php und mysql, kenne mich damit also ein bisschen aus, aber leider komm ich hier nicht weiter.

MFG MaToBe

DeddyH 9. Jun 2009 09:31

Re: SQL LogIn
 
Dann lies den verlinkten Thread mal ab hier weiter.

MaToBe 9. Jun 2009 09:58

Re: SQL LogIn
 
Delphi-Quellcode:
procedure TfrmSQL.SqlVerbindung;
var
  myConnect: PMySQL;                //Verbindungsdeskriptor
begin
  //jetzt wird _myCon initialisiert
  libmysql_load(nil);
  myConnect := mysql_init(nil);
  if myConnect = nil then
  begin
  ...
end;
Gleiche Fehlermeldung.

Wenn ich die neue mySQL.pas installieren möchte, sagt er mir als Fehlermeldung "libsql.dll" nicht gefunden. Also hab ich wieder die alte installiert...

DeddyH 9. Jun 2009 10:00

Re: SQL LogIn
 
Und wenn Du die DLL mal ins Projektverzeichnis kopierst?

MaToBe 9. Jun 2009 10:04

Re: SQL LogIn
 
sorry ich habe mit sowas noch nie gearbeitet, immer nur die standartkomponenten benutzt, die schon da warn.

wo finde ich die .dll den? bei der .pas datei war sie nicht dabei.

DeddyH 9. Jun 2009 10:08

Re: SQL LogIn
 
Ich habe kein XAMPP installiert und kann daher nicht nachsehen, aber schau mal im Windows-Verzeichnis nach, alternativ unter C:\XAMPP.

MaToBe 9. Jun 2009 10:17

Re: SQL LogIn
 
Delphi-Quellcode:
procedure TfrmSQL.SqlVerbindung;
var
  myConnect: PMySQL;                //Verbindungsdeskriptor
begin
  //jetzt wird _myCon initialisiert
  libmysql_load(nil);
  myConnect := mysql_init(nil);
  if myConnect = nil then
  begin
    ShowMessage('Nicht genug freier Speicher, um Verbindungsdeskriptor zu initialisieren');
    Exit;
  end;

  //anschließend wird die Verbindung hergestellt
  if mysql_real_connect(myConnect, PAnsiChar('localhost'), PAnsiChar('root'), nil, nil, 3306, nil, 0) = nil then
  begin
    ShowMessage('Die Verbindung konnte nicht hergestellt werden. Ursache: ' + mysql_error(myConnect));
    Exit;
  end;

  ShowMessage('Verbindung hergestellt');

  //zum Schluss wird die Verbindung wieder geschlossen
  mysql_close(myConnect);
end;
es funktioniert, danke !!!

Nur noch eine Frage, zum Verständnis und weil es auch wichtig ist für das weitere Projekt.

Die libmysql.dll die aus dem XAMPP Ornder ist das eine allgemeine Datei oder speziell für XAMPP ?
Hintergrund: Das ganze ist ein Schulprojekt und der Lehrer will das ganze erst auf einem XAMPP Server sehen bevor er uns die Daten des Schulservers gibt, auf dem das Programm dann laufen soll.

DeddyH 9. Jun 2009 10:20

Re: SQL LogIn
 
Das ist die Client-Library zum Zugriff auf MySQL und hat mit XAMPP an sich nichts zu tun.

MaToBe 9. Jun 2009 10:51

Re: SQL LogIn
 
Seltsam. 2 mal hat es geklappt. Dann beim 3ten mal kam diese Meldung:

"Die Verbindung konnte nicht hergestellt werden. Ursache: Access denied for user 'root'@ 'localhost' (using password YES)

Dabei habe ich das Passwort und den zugang bei XAMPP nicht verändert. Host: localhost, Benutzer : root, PW: Keins

Delphi-Quellcode:
SQLServer := PAnsiChar(AnsiString(edtServernameSQL.Text));
SQLBenutzer := PAnsiChar(AnsiString(edtBenutzernameSQL.Text));
SQLPasswort := PAnsiChar(AnsiString(edtPasswortSQL.Text));
SQLDatenbank := PAnsiChar(AnsiString(edtDatenbankSQL.Text));

procedure TfrmSQL.SqlVerbindung;
var
  myConnect: PMySQL;                //Verbindungsdeskriptor
begin
  //jetzt wird _myCon initialisiert
  libmysql_load(nil);
  myConnect := mysql_init(nil);
  if myConnect = nil then
  begin
    ShowMessage('Nicht genug freier Speicher, um Verbindungsdeskriptor zu initialisieren');
    Exit;
  end;

  //anschließend wird die Verbindung hergestellt
  if mysql_real_connect(myConnect, SQLServer, SQLBenutzer, SQLPasswort, SQLDatenbank, 3306, nil, 0) = nil then
  begin
    ShowMessage('Die Verbindung konnte nicht hergestellt werden. Ursache: ' + mysql_error(myConnect));
    Exit;
  end;

  ShowMessage('Verbindung hergestellt');

  //zum Schluss wird die Verbindung wieder geschlossen
  mysql_close(myConnect);
end;
Bei SQLPasswort trage ich Nil ein und bei SQLDatenbank auch.

DeddyH 9. Jun 2009 10:56

Re: SQL LogIn
 
Kommst Du über phpMyAdmin an die DB?


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:44 Uhr.
Seite 1 von 2  1 2      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz