AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi MYSQL Problem mit Create Table
Thema durchsuchen
Ansicht
Themen-Optionen

MYSQL Problem mit Create Table

Ein Thema von Synonym · begonnen am 16. Feb 2004 · letzter Beitrag vom 16. Feb 2004
Antwort Antwort
Synonym
(Gast)

n/a Beiträge
 
#1

MYSQL Problem mit Create Table

  Alt 16. Feb 2004, 22:52
Hi,


ich benutze den MYSQL Code aus dem Tutorial...

Hier mein Code...
Doch leider erstellt er nicht wie beschrieben 2 Tabellen!

Was kann ich tun?

Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,mysql,
  StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button2: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure MakeTables(_myCon: PMySQL);
var
  query: PChar;
begin
  mysql_select_db(_myCon, 'usr_web_2'); //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.Button1Click(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 := '***';
  pass := '***';
  db := 'usr_web_2';
 
  //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;
  MakeTables(_myCon);
  ShowMessage('Verbindung hergestellt');

 
  //zum Schluss wird die Verbindung wieder geschlossen
  mysql_close(_myCon);
end;

end.

Synonym
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: MYSQL Problem mit Create Table

  Alt 16. Feb 2004, 22:58
Zitat von Synonym:
Delphi-Quellcode:
procedure MakeTables(_myCon: PMySQL);
var
  query: PChar;
begin
  mysql_select_db(_myCon, 'usr_web_2'); //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;
Du gibst als Länge des Befehls die Länge von query an, welches du allerdings nicht benutzt. Weise deinen CREATE-Befehl der Variable query zu und übergib diese an mysql_real_query, dann sollte es funktionieren.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Synonym
(Gast)

n/a Beiträge
 
#3

Re: MYSQL Problem mit Create Table

  Alt 16. Feb 2004, 23:01
und wie mach ich das?
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: MYSQL Problem mit Create Table

  Alt 16. Feb 2004, 23:10
Zitat von Synonym:
und wie mach ich das?
So, wies im Tutorial steht :

Delphi-Quellcode:
procedure MakeTables(_myCon: PMySQL);
var
  query: PChar;
begin
  mysql_select_db(_myCon, 'usr_web_2'); //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;
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Antwort Antwort


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 03:36 Uhr.
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