![]() |
Re: MySQL ohne Komponenten
Hi,
dabei nervten mich immer die vielen verschiedenen Versionen der libmysql.dll, so dann und wann funktionierte irgendetwas nicht mehr welches vorher klappte. Eventuell lag es auch an mir bzw meinen Code. So habe ich es nie geschafft, mit den vorhandenen, die Feldtypen einer mysql-Tabelle zu bestimmen. :( Wer Spass hat kann ja ![]() Grüße, MJ |
Re: MySQL ohne Komponenten
Zitat:
|
Re: MySQL ohne Komponenten
Moin Chewie,
Zitat:
![]() Viele Grüße, Jens |
Re: MySQL ohne Komponenten
Aus Aktuellem Anlass,...
Gibt es eigentlich eine aktualisierte Version der .pas file? |
Re: MySQL ohne Komponenten
Hi,
ich möchte mal zusammenfassen: - Die Seiten von Fichtner sind nicht (nicht mehr) zu erreichen - Der Zugriff über die LibMySql.dll ist immer noch beliebt - Viele Tutorials im Netz beziehen sich auf die LibMySql.dll/mysql.pas - Die Suche nach einer aktuellen Version endet fast immer in "Frage/Suche-Threads" Da wäre es doch ein interessantes Projekt, die veraltete mysql.pas auf aktuellen Stand zu bringen. Doch was ist der aktuelle Stand? Mysql5? Und wie stelle ich sicher, daß auch die "richtige" LibMysql.dll VersionXZY verwendet wird? Woher weiss ich, welche Funktionen/Proceduren in einer vorliegenden LibMySql.dll vorhanden sind. Wie ist die Vorgehensweise beim Schreiben einer 'neuen' mysql.pas. Ich selbst traue mir das nicht zu, dafür reichen meine Programmierkenntnisse bei weiten nicht aus. Wäre aber sehr interessant zu erfahren wie so etwas bewerkstelligt wird. Eventuell in einen neuen Thread? Oder ist das alles sinnlos, weil es eine Menge freier Zugriffskomponenten gibt? Was meinen die Profis im Forum? So long, MJ |
Re: MySQL ohne Komponenten
Hallo MJ,
Ich finde auch, dass es ein interessantes Projekt wäre, da ich aber keinerlei Kenntnisse von C++ habe, kann ich es leider auch nicht beginnen. Zitat:
Zitat:
Zitat:
Viele Grüße, Jens |
Re: MySQL ohne Komponenten
Hallo Forum,
auch ich wäre interessiert. Bringe leider auch die gleichen Vorraussetzungen mit (keine Ahnung) denke aber das, daß ganze mehr oder weniger nur eine Fleißarbeit ist. So schwer kann das nicht sein. Wer hat Tipps und Tutorial Verwenden von C++ Bibliotheken mit Delphi und was muß man beachten das nicht nur Delphi-Leute sondern Free-Pascal und Turbo -Leute auch damit arbeiten können? (auch unter Linux bzx. alle Plattformen die Free-Pascal auch untersützt. mfg - Micha |
Re: MySQL ohne Komponenten
Hi ich habe folgendes Problem, wenn Compilieren will, kommt immer eine Meldung "[82] Variable 'query' ist möglicherweise nicht initialisiert worden"
Aber es compiliert trotzdem, nur mit dem erstellen der Tabellen haut es nicht hin, also DB wird erstellt, aber die Tabellen nicht... bitte helft mir weiter Danke schonmal Gruß Pemue
Delphi-Quellcode:
unit MySQLTest;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, mySQL, StdCtrls, Menus; type TForm1 = class(TForm) grbConnect: TGroupBox; btConnect: TButton; edHost: TEdit; edUser: TEdit; edPassw: TEdit; Label1: TLabel; Label2: TLabel; Label3: TLabel; edDB: TEdit; Label4: TLabel; PopupMenu1: TPopupMenu; localhost1: TMenuItem; procedure btConnectClick(Sender: TObject); procedure localhost1Click(Sender: TObject); procedure MakeTables(_myCon: PMySQL); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.btConnectClick(Sender: TObject); var _myCon: PMySQL; //unseren Verbindungsdeskriptor host, user, pass, db: PChar; //die Anmeldedaten query: PChar; begin //Aufnehmen der Anmeldedaten host := pchar(edHost.Text); user := pchar(edUser.Text); pass := pchar(edPassw.Text); db := pchar(edDB.Text); //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'); if MessageDlg('Soll eine neue Datenbank angelegt werden?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin query := 'CREATE DATABASE apitest'; mysql_real_query(_myCon, query, Length(query)); end; if MessageDlg('Neue Tabellen anlegen?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then MakeTables(_myCon) end; procedure TForm1.MakeTables(_myCon: PMySQL); var query: PChar; begin mysql_select_db(_myCon, 'apitest'); //zu Datenbank "APITest" wechseln mysql_real_query(_myCon, 'CREATE TABLE posts(id int, author int, date datetime, entry text)', Length(query)); mysql_real_query(_myCon, 'CREATE TABLE users(id int, name varchar(50), pass varchar(50))', Length(query)); end; procedure TForm1.localhost1Click(Sender: TObject); begin edHost.Text := 'localhost'; edUser.Text := 'root'; edPassw.Text := 'jazzy'; end; end. |
Re: MySQL ohne Komponenten
Ich kenne die Bibliothek nicht, aber aus dem Bauch heraus würde ich sagen:
Delphi-Quellcode:
procedure TForm1.MakeTables(_myCon: PMySQL);
var query: PChar; begin mysql_select_db(_myCon, 'apitest'); //zu Datenbank "APITest" wechseln query := 'CREATE TABLE posts(id int, author int, date datetime, entry text)'; mysql_real_query(_myCon, query, Length(query)); query := 'CREATE TABLE users(id int, name varchar(50), pass varchar(50))'; mysql_real_query(_myCon, query , Length(query)); end; |
Re: MySQL ohne Komponenten
Oh vielen Danke, ich bin gerade bei den ersten schritten, und klammere mich dabei sehr an dieses tuturial, und bemerke selbst manche fehler nicht. Vielen Dank für deine Hilfe DeddyH
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:01 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