AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Tutorials Delphi MySQL ohne Komponenten

MySQL ohne Komponenten

Ein Tutorial von Chewie · begonnen am 14. Jul 2003 · letzter Beitrag vom 30. Mär 2020
Antwort Antwort
Seite 8 von 34   « Erste     678 91018     Letzte » 
fungunner2

Registriert seit: 13. Sep 2003
Ort: Aachen
12 Beiträge
 
Delphi 6 Personal
 
#1

Re: MySQL ohne Komponenten

  Alt 16. Jan 2005, 01:45
Hallo
Ohman,klar habs gefunden....thx für den Wink mit dem Zaunpfahl
Vielleicht kannste mir trotzdem nochmal auf die Sprünge helfen:
Wenn ich mit MysqlFront einen 17KB grossen Text einlade ist das auch kein Problem.
Versuch ich das gleiche mit unten stehendem Code gehts ums verecken nicht.


Code:
procedure TForm1.BitBtn4Click(Sender: TObject);
var
klar:integer;
textrein : string;
begin
 begin
  host := 'localhost';
  user := 'root';
  pass := '';
  db := pchar('mails');

  _myCon := mysql_init(nil);
  if _myCon = nil then
  begin
    ShowMessage('Nicht genug freier Speicher, um Verbindungsdeskriptor zu initialisieren');
    Exit;
  end;

  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;
//**************************Verbindung steht !

 mysql_select_db(_myCon, pchar('mails'));
 msg := SakMsgList1.items[ currentMsg]; //Hier lade ich den Text einer Mail

 dateneintrag := ''''+msg.From+''''+ ',' +''''+msg.Date+''''+ ',' +''''+msg.Subject+''''+ ',' +''''+msg.ContentType+''''+ ',' +''''+msg.Text.Text+'''' ;

//**************************Bis hierher sind die Variabeln auch korrekt bestückt !

 query := pchar('INSERT INTO popper2 (von,datum,subject,art,text) values (' + dateneintrag +')' );
 klar := mysql_real_query(_myCon, query, Length(query));

//**************************Jetzt gibt mir klar eine -1 zurück,also nicht verarbeitet !

end;

end;
Ich steig einfach nicht dahinter warum.
Wäre nett wenn Du noch einen Denkanstoss für mich hättest.

mfg
Hans
  Mit Zitat antworten Zitat
Chewie

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

Re: MySQL ohne Komponenten

  Alt 16. Jan 2005, 16:24
Lass dir im Fehlerfalle doch einfach mal mysql_error() ausgeben, da kriegst du die Fehlermeldung von der DB.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
fungunner2

Registriert seit: 13. Sep 2003
Ort: Aachen
12 Beiträge
 
Delphi 6 Personal
 
#3

Re: MySQL ohne Komponenten

  Alt 17. Jan 2005, 13:37
Hallo
Ich habs
Im übergebenen Text scheiterte die Übergabe an einem " ' " (Hochkommata) im Delphi String.
Dadurch erhielt der Mysql Befehl eine falsche Syntax.
Jetzt weiss ich wenigstens worans lag.
Danke für die Hilfe !

mfg
Hans
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: MySQL ohne Komponenten

  Alt 26. Jan 2005, 16:36
Zitat von Chewie:
Delphi-Quellcode:
  if _myCon = nil then
  begin
    ShowMessage('Nicht genug freier Speicher, um Verbindungsdeskriptor zu initialisieren');
    Exit;
  end;
Das finde ich etwas unbefriedigend. Ich fange auch mal an und gucke mir SQL Datenbanken an und das ist mir gleich aufgefallen. Gibt es nicht so was wie GetLastSQLError und SQLErrorCodeToStr?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

Re: MySQL ohne Komponenten

  Alt 26. Jan 2005, 17:03
Folgender Code aus dem Tutorial:
Delphi-Quellcode:
var
  query: PChar;
  _myCon: PMySQL;
begin
  query := 'CREATE DATABASE APITest';
  mysql_real_query(_myCon, query, Length(query));
end;
Wie kann man überprüfen, ob die Datenbank schon besteht und wie kann ich Fehler im Query auswerten? Oder anders ausgedrückt, woher weiß ich, ob der Query erfolgreich ausgeführt wurde und wenn nicht, woran es lag (keine DB, keine Tabelle, Syntaxfehler, ...)?

Selbst rausgefunden:
0: alles hat geklappt
1: hier: Datenbank gibt es schon

Wenn ich den obigen Code ausführe, ohne mich vorher mit dem Server verbunden zu haben, dann bekomme ich eine Exception. Ist das richtig?
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Chewie

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

Re: MySQL ohne Komponenten

  Alt 28. Jan 2005, 11:17
Zitat von Luckie:
Zitat von Chewie:
Delphi-Quellcode:
  if _myCon = nil then
  begin
    ShowMessage('Nicht genug freier Speicher, um Verbindungsdeskriptor zu initialisieren');
    Exit;
  end;
Das finde ich etwas unbefriedigend. Ich fange auch mal an und gucke mir SQL Datenbanken an und das ist mir gleich aufgefallen. Gibt es nicht so was wie GetLastSQLError und SQLErrorCodeToStr?
Dein GetLastSQLError heißt mysql_errno und dein SQLErrorCodeToStr mysql_error.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#7

Re: MySQL ohne Komponenten

  Alt 28. Jan 2005, 11:28
Perfekt. Danke.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Smeagol

Registriert seit: 18. Feb 2005
Ort: Karlsruhe
1 Beiträge
 
Delphi 8 Professional
 
#8

Re: MySQL ohne Komponenten

  Alt 18. Feb 2005, 00:28
Hallo, ich bin neu hier.
Ich habe mal ein wenig mit der MySql Unit herumprobiert. Ich habe nun folgendes Problem: wenn ich als Host 'localhost' verwende, ist alles OK, aber wenn ich einen Host verwenden will, der eine Domäne ist (z.B. 'dbxxx.1und1.de') bekomme ich die Fehlermeldung "Unknown MySQL Server Host". Muss ich irgendwo eine Einstellung vornehmen???
  Mit Zitat antworten Zitat
Benutzerbild von emsländer
emsländer

Registriert seit: 21. Aug 2004
Ort: Lengerich
658 Beiträge
 
RAD-Studio 2009 Ent
 
#9

Re: MySQL ohne Komponenten

  Alt 18. Feb 2005, 00:54
Zitat von Smeagol:
Hallo, ich bin neu hier.
Ich habe mal ein wenig mit der MySql Unit herumprobiert. Ich habe nun folgendes Problem: wenn ich als Host 'localhost' verwende, ist alles OK, aber wenn ich einen Host verwenden will, der eine Domäne ist (z.B. 'dbxxx.1und1.de') bekomme ich die Fehlermeldung "Unknown MySQL Server Host". Muss ich irgendwo eine Einstellung vornehmen???
Wie wäre es denn erst einmal mit dem Check der Firewall? Denn die lässt ja den MYSQL-Port nach aussen nicht durch. Und wie ist es bei 1und1? Haben die den Port nach aussen offen?


Gruss

EL


Narben am Körper sind ein Zeichen dafür, das man gelebt hat.
Narben auf der Seele sind ein Zeichen dafür, das man geliebt hat.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.259 Beiträge
 
Delphi 2006 Professional
 
#10

Re: MySQL ohne Komponenten

  Alt 18. Feb 2005, 08:17
Zitat von Smeagol:
..., aber wenn ich einen Host verwenden will, der eine Domäne ist...
Viele Anbieter verbieten den Zugriff auf den mySQL-Server von aussen. Sprich der Benutzer hat nur lokalen Zugriff auf den Server.
Frage am besten deinen Provider ob es möglich ist von aussen auf den mySQL zugreifen zu können.
Stephan B.
"Lasst den Gänsen ihre Füßchen"
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 8 von 34   « Erste     678 91018     Letzte » 

Themen-Optionen Tutorial durchsuchen
Tutorial durchsuchen:

Erweiterte Suche
Ansicht

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:20 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