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
Antwort Antwort
Seite 22 von 34   « Erste     12202122 232432     Letzte »    
SMERK

Registriert seit: 5. Jan 2005
Ort: Krems II
31 Beiträge
 
Delphi 7 Enterprise
 
#1

Re: MySQL ohne Komponenten

  Alt 28. Jan 2007, 21:20
Delphi-Quellcode:
begin
var1 := 'test1';
var2 := 'test2';
host := 'server';
user := 'root';
pass := '*****';
db := 'db' ;

_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;

query := 'INSERT INTO tabelle (NAME, TEXT) VALUES ('+PChar(QuotedStr(var1))+','+PChar(QuotedStr(var1))+')';
mysql_real_query(_myCon, query , Length(query));


mysql_close(_myCon);
end;
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.869 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: MySQL ohne Komponenten

  Alt 28. Jan 2007, 21:23
mysql_real_query(_myCon, PChar(query) , Length(query));
Markus Kinzler
  Mit Zitat antworten Zitat
SMERK

Registriert seit: 5. Jan 2005
Ort: Krems II
31 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: MySQL ohne Komponenten

  Alt 28. Jan 2007, 21:25
der fehler bleibt
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.869 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: MySQL ohne Komponenten

  Alt 28. Jan 2007, 21:27
Was für einen Typ hat query?
Markus Kinzler
  Mit Zitat antworten Zitat
SMERK

Registriert seit: 5. Jan 2005
Ort: Krems II
31 Beiträge
 
Delphi 7 Enterprise
 
#5

Re: MySQL ohne Komponenten

  Alt 28. Jan 2007, 21:28
pchar

Delphi-Quellcode:
var
 _myCon: PMySQL;
 query: PChar;
 var1, var2 : pchar; //wechsel ich immer zwischen PChar und String
 host, user, pass, db: PChar;
so das sind die variablen
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.869 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: MySQL ohne Komponenten

  Alt 28. Jan 2007, 21:31
Ändere den Typ mal in String und dann:
Delphi-Quellcode:
query := 'INSERT INTO tabelle (NAME, TEXT) VALUES ('+QuotedStr(var1)+','+QuotedStr(var2)+')';
mysql_real_query(_myCon, PChar(query) , Length(query));
Markus Kinzler
  Mit Zitat antworten Zitat
SMERK

Registriert seit: 5. Jan 2005
Ort: Krems II
31 Beiträge
 
Delphi 7 Enterprise
 
#7

Re: MySQL ohne Komponenten

  Alt 28. Jan 2007, 21:32
oh verdammt!! das hätte ich auch selber sehen können!!



Es funktioniert!!
VIELEN VIELEN DANK!!!! Super HILFE!
  Mit Zitat antworten Zitat
Svenkan

Registriert seit: 10. Feb 2007
Ort: Bersenbrück
547 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: MySQL ohne Komponenten

  Alt 10. Feb 2007, 14:52
Ich hab jetzt folgenden Code:
Delphi-Quellcode:
procedure TForm1.BtVTPClick(Sender: TObject);
var
  _myCon: PMySQL; //unseren Verbindungsdeskriptor
  host, user, pass, db: PChar; //die Anmeldedaten
  Posts: TPostEntries;
  idAuthor: String; //zum Zwischenspeichern der Verfasser-ID
  query: PChar;
  _myRes: PMySQL_Res; //hier wird der gesamte Ergebnissatz gespeichert
  _mySubRes: PMySQL_Res; //benötigt, um Autor zu ermmitteln
  _myRow: PMySQL_Row; //enthält den aktuellen Datensatz
  _mySubRow: PMySQL_Row; //benötigt, um Autor zu ermmitteln
  i: Integer;
begin


  //wir werden uns als Root-Benutzer in localhost einloggen, ohne eine
  //bestimmte Datenbank auszuwählen
  host := 'localhost';
  user := 'root';
  pass := 'XXXXX';
  db := 'APITest';

  //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');

  query := 'SELECT * FROM posts ORDER BY id';
  mysql_real_query(_myCon, query, Length(query));

  _myRes := mysql_store_result(_myCon); //alle Datensätze vom Server anfordern
  if _myRes = nil then
  begin
    ShowMessage('Es konnten keine Datensätze zurückgebenen werden. Ursache: ' + mysql_error(_myCon));
    Exit;
  end;

    SetLength(Posts, mysql_num_rows(_myRes)); //Posts-Array-Größe auf Anzahl der Datensätze setzen

  for i := 0 to High(Posts) do
  begin
    _myRow := mysql_fetch_row(_myRes); //Datensatz abholen
    Posts[i].id := StrToInt(_myRow[0]); //ID des Posts ist erstes Feld im Datensatz
    Posts[i].time := _myRow[2]; //Zeitpunkt ist drittes Feld
    Posts[i].text := _myRow[3]; //Text ist viertes Feld

    idAuthor := _myRow[1];
    query := PChar('SELECT name FROM users WHERE id=' + idAuthor);
    _mySubRes := mysql_store_result(_myCon);
    _mySubRow := mysql_fetch_row(_mySubRes);
    Posts[i].author := _mySubRow[0];

    mysql_free_result(_mySubRes); //Ergebnissatz löschen
  end;
  
  mysql_free_result(_myRes); //Ergebnissätze löschen

  //zum Schluss wird die Verbindung wieder geschlossen
  mysql_close(_myCon);
end;
Aber wenn ich dann die Ergebnisse abrufen will, bekomme ich nur eine Fehlermeldung, dass eine Zugriffsverletzung vorliegt. (siehe Anhang)
Woran liegt das?
Angehängte Grafiken
Dateityp: bmp zugriffsverletung_108.bmp (226,0 KB, 17x aufgerufen)
Sven Kannenberg
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.869 Beiträge
 
Delphi 11 Alexandria
 
#9

Re: MySQL ohne Komponenten

  Alt 10. Feb 2007, 14:56
Welche Version von MySQL?
Markus Kinzler
  Mit Zitat antworten Zitat
Svenkan

Registriert seit: 10. Feb 2007
Ort: Bersenbrück
547 Beiträge
 
Delphi 7 Enterprise
 
#10

Re: MySQL ohne Komponenten

  Alt 10. Feb 2007, 14:58
Server Version: 5.0.18-nt

Isses das?
Wenn nich, ma eben schnell bescheidsagen.
Sven Kannenberg
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 22 von 34   « Erste     12202122 232432     Letzte »    


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 01:41 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