![]() |
MySQL zugang
Kann man mit einem Buttonklick in phpmyadmin von localhost automatisch einen SQL befehl geben?
|
Re: MySQL zugang
Den müsstest Du selber abspeichern und laden (sofern ich Dich überhaupt richtig verstanden habe).
|
Re: MySQL zugang
Ich möchte mit einem einzigen Buttonclick, automatisch in phpmyadmin zugreifen und einen SQL befehl eingeben lassen, den ich schon selbst vorgegeben habe. z.B. ButtonOnClick -> localhost/phpmyadmin -> SQL eintragen -> CREATE DATABASE oder so :D
und das alles unsichtbar |
Re: MySQL zugang
Ach, der Button soll in einem Delphi-Programm sein?
|
Re: MySQL zugang
In einer Form ja.
|
Re: MySQL zugang
Wieso denn dann der Umweg über phpMyAdmin? Mit entsprechenden Zugriffskomponenten (mysqldirect, ZEOS, etc.) wäre das doch viel sinnvoller.
[edit] Siehe z.B. hier: ![]() |
Re: MySQL zugang
Danke ich werde es mir mal anschaun
|
Re: MySQL zugang
Vielleicht ist der Direktzugriff ( wie bei den meisten Providern) von aussen gesperrt. Dann würde ich aber ein eigenes (PHP-)Skript erzeugen, welches ich dann aufrufe.
|
Re: MySQL zugang
Er schreib explizit localhost, daher kann er sich das auch für Exklusiv-Zugriff einrichten.
|
Re: MySQL zugang
Da von localhost die Rede war bin ich davon ausgegangen, dass es sich um den eigenen Rechner handelt.
|
Re: MySQL zugang
Zitat:
Edit: Es geht jetzt :D |
Re: MySQL zugang
Ich habe noch eine Frage. Ist PMySQL ein komponent?
|
Re: MySQL zugang
Nö.
Zitat:
|
Re: MySQL zugang
Das Tutorial heißt "MySQL ohne Komponenten" :mrgreen:. Aber es ist eine Klasse.
|
Re: MySQL zugang
Bei mir kommt ne zugriffsverletzung :(
|
Re: MySQL zugang
Dann zeig mal deinen Code
|
Re: MySQL zugang
Bis jetzt:
Delphi-Quellcode:
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, MySQL, Controls, Forms, Dialogs; type TForm1 = class(TForm) procedure FormCreate(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); var _myCon: PMySQL; //unseren Verbindungsdeskriptor host, user, pass, db: PChar; //die Anmeldedaten begin //wir werden uns als Root-Benutzer in localhost einloggen, ohne eine //bestimmte Datenbank auszuwählen host := 'localhost'; user := 'root'; pass := ''; db := 'lan'; //jetzt wird _myCon initialisiert _myCon := mysql_init(nil); if _myCon = nil then begin ShowMessage('Nicht genug freier Speicher, um Verbindungsdeskriptor zu initialisieren'); Exit; end; //anschließend wird die Verbindung hergestellt if mysql_real_connect(_myCon, host, user, pass, db, 3306, nil, 0) = nil then begin ShowMessage('Die Verbindung konnte nicht hergestellt werden. Ursache: ' + mysql_error(_myCon)); Exit; end; ShowMessage('Verbindung hergestellt'); //zum Schluss wird die Verbindung wieder geschlossen mysql_close(_myCon); end; end. |
Re: MySQL zugang
Wo kommt die Meldung? :roll:
|
Re: MySQL zugang
Liste der Anhänge anzeigen (Anzahl: 1)
Bild angehengt
|
Re: MySQL zugang
An welcher Stelle im Code...
|
Re: MySQL zugang
Ich glaube bei FormCreate
|
Re: MySQL zugang
Du musst auch erst eine Instanz der Klasse erzeugen
|
Re: MySQL zugang
|
Re: MySQL zugang
Zitat:
|
Re: MySQL zugang
Delphi-Quellcode:
//jetzt wird _myCon initialisiert
_myCon := mysql_init(nil); |
Re: MySQL zugang
Zitat:
Fehler wisst normalerweise auf einen Zugriff auf nicht instantiierte Klassenreferenz hin (Nil) |
Re: MySQL zugang
Ich hatte auch gedacht, dass es sich um Klassen handelt. Sry für die Fehlinformation :oops:
[edit] @milos: Stepp doch mal mit F7 durch den Code und sag uns dann die Zeile, in der der Fehler auftritt. [/edit] |
Re: MySQL zugang
Ja, das dachte ich erst auch, aber er erzeugt ja von Hand keine Klasse.
Vielleicht solltest Du das Projekt nochmal komplett von vorne machen. Höchstens Du packst endlich mal den Debugger aus und schaust genau nach, wo es kracht. Sonst raten wir hier morgen noch rum! |
Re: MySQL zugang
Bei dem kommt der Fehler
Delphi-Quellcode:
//jetzt wird _myCon initialisiert
_myCon := mysql_init(nil); |
Re: MySQL zugang
Setzte mal vor dieser Zeile einen Haltepunkt und drücke wenn er anhält F7
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:49 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz