Querry1->SQL->Text = "Select * From blabla LIMIT '" + Edit1->Text + "' ,
'" + Edit2->Text + "';";
Dein String würde so aussehen
Select * From blabla LIMIT '0' ,'5'; und das ist falsch
Unix-Tom schrieb:
Und was hat das mit MFC zu tun.
sehr viel man kann mit hilfe von MFC DTS Programmieren ausführen usw.
Bitte schieb mich zurück in richtige Forum !!
Ok wenn du mir sagst das zwischen delphi und c++ keinen unterschied in der zeosapi gibt, dann glaub ich dir das. Schonmal Danke und wenn noch Frage kommen hoffe ich kann mich an dich wenden
thx nomma und gruß
nortan
Oh, eine Antwort *froi*
naja, soll mir egal sein.... Ich wusste ja selber nicht, wohin mit der Frage. normalerweise ist man ja doch bemüt, die Regeln fürs Posten zu beachten.
Aber ich merk schon, ich muss mir was anderes überlegen. Selbst intensives (4 tage am stück) googlen hat nicht den ansatz einer Idee gebracht. Schade.
Jetzt frage ich mich nur noch: Liegts am BCB oder an meiner LibMySQL oder an meiner mysql.h das der Kram nicht läuft (is alles original MySQL aus dem Datenbankverzeichnis)?
Hallo,
mal ne dumme Frage:
Wie speichert ihr doubles in einer MySql Datenbank?
in einer als "double" deklarierten Spalte
in einem blob?
hat den Nachteil, dass der double in der Anfrage als Zeichenkette vorliegen muss
(=> es muss andauern hin- und herkonvertiert werden: double <=> char * etc.)
bin damit noch ned recht weit und jetzt würd mich interessieren, ob sowas sinnvoll ist und ob sich weiteres ausprobieren überhaupt lohnt:
Aber über nen Tipp, ob ich auf dem richtigen Dampfer bin, würd ich mich freuen.
char * escaped = new char[2 * sizeof(double) + 1]; // laut mysql doku braucht man 2n + 1 Byte an Platz (worst case)
double myDouble = 12.37;
mysql_real_escape_string(dbHandle, escaped, (char *) &myDouble, sizeof(double));
// der cast nach char * schaut irgendwie suspekt aus...
Najo, wenn ich escaped jetzt in eine Anfrage reinbaue, muss ich dann die binäre Null am Ende entfernen?
thx
Martin
Und wenn du mit Datenbanken anfängst dann bitte auch die Begriffe lernen.
Du kannst dir SQL nicht besorgen da SQl eine Datenbankabfragesprache ist.
"Niemand" arbeiten direkt mit einer Datenbank. Was du brauchst ist das RDBMS. Das ist ein Relationales Datenbank Management Systeme. Auch oft (Umgangssprache und keineswegs richtig) als Datenbankserver bezeichnet.
Wenn du erst anfängst dann nimm ein RDBMS welches einfacher ist als MS SQL-Server.
z.B. PostGre,MySQL, und viele mehr.
Hallo alle zusammen,
ich habe folgendes Problem. Ich habe mit Hilfe von "oo4o" und C++ eine Datenbankverbindung zu einer Oracle-Datenbank (9.2.) aufgebaut.
OSession session ("Session1");
ODatabase tricsy(session, "ORA920", "tricsy", "tric24");
ODynaset odyn(tricsy, "select * from wafermaps");
if (!odyn.IsOpen()){
write2Log("Tricsy-Database is not open");
}
OValue val;
val.SetEmpty();
odyn.AddNewRecord();
oresult ores = odyn.SetFieldValue("content", val);
ores = odyn.Update();
ores = odyn.SetFieldValue("path", path2);
ores = odyn.Update();
ores = odyn.SetFieldValue("name", name2);
ores = odyn.Update();
OClob oclob ;
odyn.StartEdit();
odyn.GetFieldValue("content", &oclob);
unsigned char *buffer = 0;
try{
unsigned long optchunk = oclob.GetOptimumChunkSize();
unsigned int bufsize = ((int) (32768/optchunk)) *optchunk;
buffer = (unsigned char *)malloc(bufsize);
fstream fs;
fs.open("waferlayout.txt", ios::in);
fs.setmode(filebuf::binary);
fs.seekg(0, ios::end);
unsigned long filesize = fs.tellg();
fs.seekg(0, ios::beg);
unsigned long totalwritten = 0;
unsigned long amtread = 0;
int piecetype = OLOB_FIRST_PIECE;
if (filesize <= bufsize)
piecetype = OLOB_ONE_PIECE;
else
oclob.EnableStreaming(filesize);
while(totalwritten != filesize){
fs.read(buffer, bufsize);
amtread = fs.gcount();
oclob.Write(buffer, amtread, piecetype);
totalwritten = totalwritten + amtread;
if ((filesize - totalwritten) <= bufsize) piecetype = OLOB_LAST_PIECE;
else piecetype = OLOB_NEXT_PIECE;
}
oclob.DisableStreaming();
ores = odyn.Update();
fs.close();
}
catch(OException E){
}
if (buffer) free(buffer);
Dieser Code ist 1 zu 1 aus dem Beispiel von Oracle. Es funktioniert auch, wenn man den ersten Datensatz in die Datenbank schreibt. Wenn ich mein Programm neu starte bzw. innerhalb meines Programms einen zweiten Datensatz reinschreiben möchte wird immer die "Content"-Spalte vom ersten Datensatz überschrieben und alle anderen "content"-Spalten bleiben leer.
Was ist das Problem?
Viele Grüße
Jana
hi,
ich weiss nicht von wo aus du auf die datenbank zugreufen willst, du musst auf jeden fall der datenbank sagen, von wo aus der nutzer drauf zugreift (localhost, %). zwischen localhost und rest der welt (%) is halt ein unterschied, vielleicht liegs daran.
passwortproblem:
schau mal in die datei config.default.php, da sollte es eine variable geben ( cfg['Servers'][i]['password']. das solltest du einfach leer setzen und dann sollte es eigentlich gehen.
gruss
msp
Der Fehler (wenn ichs richtig verstanden habe) liegt daran, dass es nicht funktioniert, wenn du in dein SQL-Statement eine WHERE Klausel einfügst. Du musst das mit einem Filter machen (m_strFilter). Schau dir das passende in der MSDN an: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vclib/html/_mfc_crecordset.3a3a.m_strfilter.asp
Das ist falsch. Ich verwende MySQL++ nicht. MySQL++ ist auch nur eine Wrapper um die C-API genauso wie meine.
Da ich unter Windows nur MFC Programmiere verwende ich das beste aus dieser Klasse. Eine Linuxversion liegt aber auch vor.
Ein DROP TABLE + CREATE TABLE ist eher schneller als den Inhalt der Tabelle zu löschen und den AutoWert zurückzusetzen.
Ansonsten kann man auch per ALTER TABLE die Spalte von AutoInc nach Int und wieder zurück nach AutoInc setzen, das sollte den Wert wieder bei 1 beginnen lassen.
Allerdings frage ich mich, wozu der AutoInc-Wert gut sein soll, wenn er zurückgestetzt wird... Sieht nach Designproblem aus...
www.mysql.de?
http://dev.mysql.com/get/Downloads/MySQL-4.1/mysql-4.1.7-win.zip/from/pick
hier gibts den dl mit installer (das formular musst du nich ausfuellen).
hm. nicht getestet und auch nicht besonders elegant
Select
ProductID,
Sum(ArtAnzahl),
(
Select
Count(KundenNr)
From Tabelle2
Inner Join Tabelle1 On Tabelle2.BearbNr=Tabelle1.BearbNr
Where ProduktID=T1.ProduktID
Group By KundenNr
) As VerschiedeneKaeufer
From Tabelle1 T1
Groupy by ProduktID
hallo,
gibt es eine möglichkeit, den wert MaxLocksperFile innerhalb einer Access-Datenbank per sql-befehl zu ändern?
hab bisher nur die möglichkeit über vba oder direkt in der registry gefunden, hilft mir aber nicht so wirklich weiter.
vielen dank schonmal,
daniel