Bin nun ein Stück weiter, lag wohl an Konvertierung.
Aber nun habe ich das Prob., obwohl das Feld ein Longblob ist verwirft er alle 1 MB den Inhalt!!!!
http://www.alhem.net/project/mysql/
Als Anhaltspunkt!!!!
Am besten immer überdie mysqllib.dll, sprich über API und damit dies nicht zu umständlich ist eine Wrapper Klasse benutzen oder selber schreiben.
Hallo,
dass was du geschrieben hast sollte doch wohl jedem deutlich sein,
aber ich will hier ein richtiges Beispiel, denn so einfach ist die Sache
gar nicht, wenn man dass vorher per Form in die DB eintragen lassen möchte.
Hab schon oftmals probiert mit versch. Variabeln und so, es geht aber nicht.
Also wenn es dir so einfach erscheint, dass du schon die Temperatur des
Badewassers ansprichst, wäre es sehr nett und hilfreich, wenn du ein Beispiel
mit zwei Teams mal durchspielst. (Was dann aber auch auf mehr Teams ausbaubar
ist, denn ins Form stecken kann man viel, aber dass muss dann auch richtig
nachher abgefragt werden können)
Zum Beispiel
Polen 1-0 Ungarn
Hallo liebe Forengemeinde.
Weiß jemand was dieser Fehler (siehe Titel des Posts) bedeutet? Hier mal mein Script zum connecten. Der Mysql Server läuft und ein Passwort habe ich nicht gesetzt.
/* mysql1.c */
#include <stdio.h>
#include <stdlib.h>
#include <mysql.h>
#define HOST "localhost"
#define USER "root"
#define PASSWORT NULL
#define DBNAME NULL
#define PORT 0
#define SOCKET NULL
#define FLAG 0
int main (int argc, char **argv) {
MYSQL *my;
my = mysql_init (NULL);
if (my == NULL) {
fprintf (stderr, " Initialisierung fehlgeschlagen\n");
exit (EXIT_FAILURE);
}
if (mysql_real_connect (my,
HOST,
USER,
PASSWORT,
DBNAME,
PORT,
SOCKET,
FLAG
) == NULL) {
fprintf (stderr, "Fehler mysql_real_connect():"
"%u (%s)\n", mysql_errno (my), mysql_error (my));
}
else
printf ("Erfolgreich mit dem MySQL-Server verbunden\n");
mysql_close (my);
return EXIT_SUCCESS;
}
Greetz Andi
http://www.sqlite.org
Linkst du einfach zu deinem Programm. Die komplette Datenbank steht in einer einzelnen Datei. Beim Öffnen gibtst du einfach den Dateinamen an.
wenn dein Primary key nur das Feld id ist und du etwas in value einfügen willst, dann wird er das nur updaten, wenn die id gleich ist.
ist dagegen das feld value der Primary key und du möchtest ein zweites Value eintragen, das genauso lautet, wird der MySQL-Server ein update auf den bestehenden Datenbankeintrag machen.
Es ist auch möglich, das Value-Feld nicht in den Primäschlüssel aufzunehmen, sondern als Unique zu definieren. Wichtig ist halt nur, das es nur einmal vorkommen darf.
hier die genaue beschreibung:
http://dev.mysql.com/doc/mysql/en/insert.html
Dieser Thread wurde von Moderator/in SideWinder aus dem Forum Neuigkeiten aus der realen Welt in das Forum Datenbanken verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?
Dieses Posting wurde automatisch erzeugt.
wie mache ich das eigentlich wenn ich einen NEGATIVEN LEFT OUTER JOIN brauche?
also alle sätze aus 1.er tabelle mit denen joinen aus der 2ten wo die datensätze nicht übereinstimmen?
Z.B. so:
SELECT *
FROM taba a LEFT OUTER JOIN tabb b ON a.id = b.id
WHERE b.id IS NULL
Liefert alle Zeilen von taba die keine Entsprechung in tabb haben
Du könntest mit "UNION" zwei SELECTs verknüpfen (eine selektiert nach 1, die andere nach 0), die Anzahl der ausgelesenen Spalten muss gleich und der Datentyp gleich oder implizit castbar sein.
Eine andere Möglichkeit ist die Verwendung von Subqueries im SELECT ggf. in Zusammenhang mit einem CASE/WHEN/ELSE-Konstrukt o.ä. (falls vorhanden).
Die 16MB können vermutlich an mysql, deinem Webserver bzw. phpmyadmin liegen.
Du könntest z.B.
SELECT * INTO OUTFILE 'daten.txt'
FIELDS TERMINATED BY ','
FROM `tablename`
und dann wieder in einen anderen Table der identisch ist
LOAD DATA INFILE 'daten.txt' INTO TABLE neuertablename
FIELDS TERMINATED BY ','
Die Datei wird im Datenverz. von MySQL abgelegt.
Du kannst das Datenfile auch in deinem Webordner speicher (zugriff für MySQL erforderlich) und dann Downloaden.
Dieser Thread wurde von Moderator/in flenders aus dem Forum WinAPI in das Forum Datenbanken verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?
Dieses Posting wurde automatisch erzeugt.
Über ein DBGrid wäre das viel einfacher. Da reicht es, beim DBGrid, die dem Query zugeordnete DataSource einzutragen und schon werden nach dem Öffnen der Query die Daten im Grid angezeigt.
Hast Du denn überhaupt eine TDataSource (unter Datenzugriff zu finden) im Projekt?
Hast Du einen entsprechend SELECT in der Query eingetragen?
Wieso verwendest Du bei AnsiString sprintf?
Wenn es unbedingt ein StringGrid sein soll, mußt Du durch alle Datensätze iterieren und die Feldwerte auslesen:
while (!ADOQuery1->Eof)
{
// entweder Felder über persistente Felder oder FieldByName auslesen
// und in das StringGrid übertragen
ADOQuery1->Next(); // auf nächsten Datensatz gehen
}
Noch als Hinweis. Statt TADOQuery solltest Du besser TADODataSet verwenden, dass ist die bessere Komponente.
Das ganze wäre vermutlich im BCB-Forum besser aufgehohen. Ich denke da schiebt Dich gleich in Mod hin.
Leute, Ihr müsst unterscheiden ob es euer eigener Server ist (da müssen die Datenfiles in dem Verzeichnis liegen die dem Server beim Start angegeben wurde) oder auf ein externes RDBMS zugreifen.
Dieses RDBMS läuft im Netzwerk oder lokal auf Verbindungen. (TCP-Socket)
Man braucht dazu nur mysql_real_connect.
Hi Squeegee, hab den Dienst etwas professioneller beendet indem ich ihn einfach herunter gefahren habe Dann tut er's nicht mehr. Das Programm stürzt wie erwartet ab.
Jetzt muss ich's nur noch irgendwie hinbekommen, dass ich das Verzeichnis des Datenpfades in dem die Tabelle liegt temporär umlagere.
Ok, danke für eure Hilfe. Wenns noch was von mir gibt, werde ich sicherlich im Portal posten, wo ihr euch über die mysql_server_init() ausgelassen habt.
Gruß Curry!
jo, werde gleich mal nach googeln und mal installieren, dank dir!
PS: habe aber auch das Problem mit den Foreign Keys in den Griff bekommen, musste einfach nur ne InnoDB Tabelle nehmen, da werden diese unterstützt!
Ich kann mir nicht vorstellen, dass man den Datenbankserver einfach so
aus einer Anwedung heraus dazu bewegen kann, das Datenverzeichnis zu wechseln.
Könnte ja jeder daherkommen...
Aber gut, ich weiss es nicht.
Evtl. könnte der mysql embedded server was für dich sein.
Dort kann man beim mysql_server_init() die Parameter aus den Configdateien
Überschreiben und ihn auf jedes beliebige Datenverzeichnis umlenken...
Allerdings hat dann nur deine Anwendung Zugriff auf die Datenbank,
sonst niemand.
Näheres zum embedded server siehe hier:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-119360-and-start-is-10.html#863492
Gehört mein Problem wirklich in Datenbanken ???? Also eigentlich hat das doch wirklich mehr mit C++ zu tun, da ich doch die Schnittstellen in C++ schreibe und es sich doch eigentlich um die Schnittstelle dreht.