![]() |
Delphi mit MYSQL
Hallo an alle
Zuerst ich habe gerade erst mit Delphi Programmieren angefangen und beherrsche daher erst die Grundlagen. jedoch bin ich nicht völlig neu in der Welt der Programmierens da ich seit 3 Jahren PHP programmiere. Nun habe ich versucht ein erstes kleines Delphiprojekt zu starten jedoch komme ich einfach nicht weiter. Dafür musste ich erstmal eine Verbindung zur Datenbank herstellen was mir auch gelungen ist, auch query krige ich hin aber wie fetche ich das ganze dann? Also in php kann ich ja einfach fetch object machen was es hier aber anscheind leider nicht gibt :/. Bitte um Hilfe um das ganze mehr zu durchsteigen ^^ Ich arbeite nach diesem Tutorial hier ![]() und hier mein code soweit
Code:
Danke im Voraus ;)
unit Unit1;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, umysqlvio, uMysqlCT, uMysqlClient, uMysqlHelpers, StdCtrls; {$I mysqlinc.inc} type TForm1 = class(TForm) Button1: TButton; Button2: TButton; Edit1: TEdit; procedure Button1Click(Sender: TObject); procedure Button2Click(Sender: TObject); private { Private-Deklarationen } FMysql: TMysqlClient; FResult: TMysqlResult; public { Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var q: string; ex: boolean; i, j: integer; af: TMysql_FieldDef; cr: integer; ausgabe: string; begin FMysql := TMysqlClient.create; //verbindung initialisieren // Eigenschaften setzen FMysql.Host := '****'; FMysql.port := 3306; FMysql.user :='libero'; FMysql.password := '****'; FMysql.UnixSocket := ''; FMysql.Db := '****'; // Datenbank auf dem Server FMysql.UseNamedPipe := false; FMysql.UseSSL := false; FMysql.Compress := true; FMysql.TrySockets := false; if FMysql.Connect then ShowMessage('Verbindung aufgebaut') else ShowMessage('Fehler beim Verbinden: '+FMysql.LastError); //verbindung wird aufgebaut if assigned(FResult) then begin if FMysql.Status<>MYSQL_STATUS_READY then ShowMessage('Ein Ergebnis wurde unvollständig gelesen!'); FreeAndNil(FResult); end; q := 'Select * from accounts'; FResult := FMysql.query(q, true, ex); //ex = execute if assigned(FResult) then //wenn zugewiesen ShowMessage('Query: OK - Ergebnis gespeichert') else if ex then ShowMessage('Query: OK - ausgeführt') else ShowMessage('Query fehlgeschlagen: '+FMysql.LastError); ausgabe := ; end; procedure TForm1.Button2Click(Sender: TObject); begin if FMysql.ping then //Ping abfrage ShowMessage('Ping: OK') else ShowMessage('Ping Fehlgeschlagen'); { FMysql.Free; //Verbindung trennen if FResult<>nil then FResult.Free; } end; end. |
AW: Delphi mit MYSQL
Hallo und herzlich willkommen in der :dp:,
ich verstehe jetzt nicht ganz das Problem. Dein Quelltext entspricht doch dem des Tutorials. Auf der Seite die Du verlinkt hast, steht doch wie man von einer Query die Daten und die Struktur der Tabelle ausliest und anzeigt. Gruß Rolf |
AW: Delphi mit MYSQL
Ihc verstehe es auf der seite aber nicht O_O in php is das auslesen ds query deutlich simpler. Es wuerde mir schon reichen wenn ich die anzahl der tabellen spalten auslesen kann. Geht das einfacher? Das tut ist mir leider zu hoch am ende :/
|
AW: Delphi mit MYSQL
Delphi-Quellcode:
if assigned(FResult) then
ShowMessage('Anzahl der Spalten :' + IntToStr(FResult.Fieldscount)); |
AW: Delphi mit MYSQL
Dankeschön :D
jezze blicke ich den abschnitt auch langsam ;) Echt nettes Forum! |
AW: Delphi mit MYSQL
Bitte, kein Problem.
|
AW: Delphi mit MYSQL
Eine frage habe ich noch ^^ ich habe jezze eine Spalte in der Tabelle mit "true" bzw "fals" als Eigenschaft der zeilen. jezze will ich nur die Zeilen mit "true" haben. habe es so versucht
Code:
will aber nicht so ganz ;)
'Select * from accounts where `activated` like true';
activated is der spaltenname und true halt der Status |
AW: Delphi mit MYSQL
Versuch es mal so
SQL-Code:
SELECT *
FROM accounts WHERE activated = 1 |
AW: Delphi mit MYSQL
Hmm nee so krige ich elider auch nur 0 anstatt von 3 zurück ^^
Dürfte daran liegen das das kein Boolean sondern nen normaler text "true" in der tabelle ist |
AW: Delphi mit MYSQL
Und bei
Code:
:?:
'Select * from accounts where `activated` like "true"';
|
AW: Delphi mit MYSQL
Funktioniert DANKESCHÖN *_*
Kannst du mir evtl noch unterschied in Delphi zwischen `` und "" erklären? MFG |
AW: Delphi mit MYSQL
Du hast ein alphanummerisches Feld deklariert, deshalb muss der abzufragende Wert in Anführungszeichen eingeschlossen werden, das hat mit den Accent Graves nichts zu tun. Diese werden z.B. von phpMyAdmin verwendet, um sicherzugehen, dass die Abfrage auch dann funktioniert, wenn der Feldname Leerzeichen enthält oder aus reservierten Wörtern besteht.
|
AW: Delphi mit MYSQL
Vielen Dank :) solangsam bekomme ich ein Gefühl fuer Delphi aber is doch schon alles ziemlich anders als in php xD
|
AW: Delphi mit MYSQL
Ich habe nochmal 3 fragen^^:
1 wie kann ich etwas beim aufruf des programmes ausführen lassen? 2 Wie kann ich ein timeout in delphi erstellen? 3 Kann ich in delphi das fenster des Programmes in der Taskleiste blinken lassen wenn ein event stattfindet? Das wars dann erstmal. Nochmal 1000 Dank :D |
AW: Delphi mit MYSQL
Hi,
bitte erstelle für die einzelnen Fragen eigene Threads (pro Thread nur eine Frage) - sonst wird das schnell unübersichtlich. Allerdings bin ich mir recht sicher, dass du zu allen drei Fragen auch mit kurzer Suche etwas finden solltest. Kleiner Ansatzpunkt (aber wirklich abschließend - keine Rückfragen hier ;)): 1) FormCreate 2) TTimer LG, Frederic |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:37 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