![]() |
Re: MySQL ohne Komponenten
Schande über mich........
Natürlich....... :wall: :wall: :wall: Ich Idiot hatte nicht Insert sondern Update geschrieben. Klar, dass dann keine Datensätze hinzugefügt werden können. Klappt jetzt prima! :dancer2: Vielen Dank für dein Tutorial. Wenn du mir noch eine grundlegende Frage beantworten könntest, damit ich sicher gehe, dass ich net alles um sonst umschreibe: Also mit MySQL können mehrere User gleichzeitig auf die Datenbank zugreifen und auch Schreibzugriffe ausführen? Also können in einem Netzwerk 2 oder mehr Pcs ein Feld gleichzeitig beispielsweise um 1 erhöhen mit dem Befehl
Delphi-Quellcode:
Und dann werden auch beide Schreibzugriffe verarbeitet?
'Update kandidaten SET nummer = nummer + 1 WHERE name = xyz'
Danke für die schnelle Hilfe hier im Forum dickes Lob an alle :cheers: Gruß bender251 |
Re: MySQL ohne Komponenten
Gleichzeitige Zugriffe sind immer ein Problem. AFAIK wird das Problem umgangen, indem ein Schreibchutz um die Felder gelegt wird, die gerade beschrieben werden, sodass andere Prozesse (bei MySQL die Bezeichnung für einen einngelogten Benutzer) sich nicht in die Quere kommen können. Wie das aber im einzelnen funktioniert und welche Probleme dabei auftreten, kann ich dir aber nicht sagen. Du könntest dazu mal das
![]() In der Regel sollte aber die Situation, dass zwei Benutzer wirklich gleichzeitig auf ein und das selbe Feld schreibend zugreifen, sehr selten auftauchen, sodass du dir in den meisten Fällen keine Gedanken darum machen musst. |
Re: MySQL ohne Komponenten
Super Klasse Tutorial !!!
Dickes fettes Lob von mir, sowas habe ich schon immer gesucht. Klappt alles perfekt. :bounce2: Das hat mir echt super weitergeholfen und man kann auf die lästigen VCL's verzichten :hello: EDIT: mmmh ich habe verschiedene versionen von der DLL datei, kann mir jemand sagen welche die richtige ist ? |
Re: MySQL ohne Komponenten
Hallo,
unter php gibt es noch die schöne Funktion mysql_fetch_assoc. Dadurch kann man direkt per Feldname darauf zugreifen.
SQL-Code:
SELECT id, name, email FROM benutzer WHERE reg_date > UNIX_TIMESTAMP()-3600 LIMIT 1
Code:
Kann man sowas auch mit dieser Methode das in Delphi verwirklichen?
$row = mysql_fetch_assoc($result);
echo $row['id'].": ".$row['name'].", ".$row['email']; |
Re: MySQL ohne Komponenten
Nein, soweit ich weiss, geht das so ohne weiteres nicht.
Die Funktion "mysql_fetch_row" gibt nur ein Array von [0] bis [AnzahlFelder -1] aus. Sowas wie "mysql_fetch_array" müsste man sich dann vielleicht selber basteln. (Mit Hilfe von "mysql_num_fields", "mysql_fetch_fields" etc...) Gruß Wormid |
Re: MySQL ohne Komponenten
Da es in PHP ja eine native Unterstützung für Hashes gibt, wurde diese Möglichkeit für die PHP-API von mySQL wohl eingebaut. Da es diese aber nicht in C, für das die API entwickelt ist, (und natürlich auch nicht in Pascal) gibt, musst du wohl mit den Indizes vorlieb nehmen.
|
Re: MySQL ohne Komponenten
hm, ... schade...
naja werde dann mal mein glück verssuchen :) danke trotzdem |
Re: MySQL ohne Komponenten
Hallo
hab ne Frage zu dem Tutorial: Also ich habe jetzt versucht mein Programm über Netzwerk laufen zu lassen. Ich habe also den MySQl-Zugriff auf meinen MySQL-Server, der unter Apache läuft mit dem Tutorial hier realisiert. Solange das Programm auf dem gleichen PC läuft, also unter localhost auf den MySQL-Server zugreifen kann klappt alles prima. Aber sobald ich das Programm auf meinem Laptop laufen lasse und über nEtzwerk unter Angabe der IP versuche auf die lokale MySQL-Datenbank zuzugreifen kriege ich ne Fehlermeldung, bzw er stürzt ab. Ich gebe ihm dann als host 192.168.1.5 an, auch mit '192.168.1.5' klappt es nicht. Auf dem PC mit der IP 192.168.1.5 läuft der MySQL-Server. Woran könnte das liegen? Hat da jemand eine Idee? Vielen Dank im Voraus Gruß bender251 |
Re: MySQL ohne Komponenten
Problem gelöst!
Mein Problem hat sich erledigt. Hatte vergessen auf den Client-PC die libmysql.dll mitzukopieren :oops: . Klappt jetzt. Gruß bender251 |
Re: MySQL ohne Komponenten
hi !
ich habe alles gemacht wie es im ersten beitrag steht, doch leider kommt folgende fehlermeldung: Benachrichtigung über Debugger-Exception Im Projekt Projekt2.exe ist eine Excetion der Klasse EAccessViolation aufgetreten. Meldung: 'Zugriffsverletzung bei Adresse 00000000. Lesen von Adresse 00000000'. Prozess wurde angehalten. Mit einzelne Anweisung oder Start fortsetzen. Was soll ich tun ? ich danke euch lieben schonmal ! SPITZEN TUTORIAL ! :dancer: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00: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-2025 by Thomas Breitkreuz