AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Tutorials Delphi MySQL ohne Komponenten
Tutorial durchsuchen
Ansicht
Themen-Optionen

MySQL ohne Komponenten

Ein Tutorial von Chewie · begonnen am 14. Jul 2003 · letzter Beitrag vom 30. Mär 2020
 
pemue

Registriert seit: 17. Jan 2008
20 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: MySQL ohne Komponenten

  Alt 18. Jan 2008, 10:50
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.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:40 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 by Thomas Breitkreuz