Der Code ist im Prinzip nicht Aussagekräftig, aber ich stelle ihn mal rein.
CBookTab tab;
//Öffnen und alles funktioniert gekapselt in try{}catch{}
tab.AddNew();
...
//Hier werden alle Werte gefüllt und sie stimmen auch bis zum:
tab.Update();
tab.Close();
//Hier eine Kontrolle in der Datenbank, die Spalte mit
//der langen Zeichenkette ist hinüber. Der Satz lässt sich nicht vernünftig lesen
Ich behaupte nicht, dass die Datenbank das Problem ist, ich denke auch nicht, dass die CBookTab das Problem ist, es wiurde von CRecordset abgeleitet. Ich habe gedacht es liegt am ODBC Treiber.
VG
Ranger
Also ich tendiere da eher zu einer 1:n-Relation, aber nur wenn es als "protected" definiert ist sonst kann es passieren, dass die Home-relation F den Wachstums-Vektor S quantelt.
Nochmal ps: Konstanten werden IIRC nur ignoriert wenn man "forced parameterization" aufgedreht hat (Default = Off soweit ich weiss) und es sich um Ad-Hoc Queries handelt. Und ohne "forced parameterization" "trifft" es soweit ich weiss nur Parameter.
In Stored Procedures werden Konstanten immer berücksichtigt.
Mit RECOMPILE werden IIRC sowohl Konstanten als auch Parameter berücksichtigt.
Das ganze ist aber halbwegs gut dokumentiert, z.B. einfach mal nach "forced parameterization" suchen - da findet man einiges zu dem Thema.
Und für halbwegs aktuelle Statistiken zu sorgen ist vermutlich immer eine gute Idee.
Hallo zusammen,
ich bekomme bei folgendem Text eine CDBException mit der Aussage:
Es wurde ein falsches Argument festgestellt
Leider kann ich damit nicht so viel anfangen. Ich habe mir mal den Spaß gemacht und so ziemlich alle Aktionen in einen einzelnen Try/Catch Block gepackt, das Ergebnis sieht dann so aus:
...
if(!db.IsOpen()) return 1;
try
{
tab.Open(CRecordset::dynaset, select);
}
catch(CDBException *e)
{
e->ReportError();
e->Delete();
err_message.Format("Satz suchen (OpenTab)");
AfxMessageBox(err_message);
AfxMessageBox(select); //Statement wurde zusammengestellt "SELECT * FROM Daten ORDER BY number ASC"
return 1;
}
if(!tab.IsOpen()) return 1;
//Test ob Recordset leer also Datenbank sozusagen leer
if(tab.IsBOF())
{
AfxMessageBox("Die Suchekriterien ergaben keine Treffer oder die Datenbank ist leer!");
return 1;
}
try
{
while(!tab.IsEOF())
{
Liste[i] = tab.number;
i++;
tab.MoveNext();
}
}
catch(CDBException *e) // diese Exception wird "gefangen"
{
e->ReportError();
e->Delete();
err_message.Format("%i - Satz suchen (Liste füllen)", i); // Wert für i ist hier 230, was auch korrekt ist
AfxMessageBox(err_message);
AfxMessageBox(select); //siehe oben
return 1;
}
list_count = tab.GetRecordCount();
err_message.Format("%i", list_count); // hier sagt Die Ausgabe 2550128
AfxMessageBox(err_message);
...
Die Aussaage von "e->ReportError();" sagt ja fast nichts aus. Hat jemand eine Idee, woran das liegen kann?
Zusatzinfo:
MS VS2012
MS SQLServer 2008 R2
System: Win7
Viele Grüße und vielen Dank,
Ranger
Dann mach Objekte mit den Feldern "name" und "free space" (oder "used space" bzw. was du halt wissen willst).
Also statt
Server1: { a:1, b:2 }
speicherst du
`Server1_a: { name:a, free:1 }
Server1_b: { name:b, free:2 }
`
Weiss nicht ob das "the way of doing it" bei NoSQL ist, aber es müsste auf jeden Fall funktionieren.
Leute ich brauch echt Hilfe. Kann ich mit den Metadata von jdbc rausfinden welche Tabellen in der Datenbank vorhanden sind ? Ja oder Nein
Ich mein das Tool Telosys verwendet JDBC um genau das rauszufinden. Es weiß die Tabellen und sämtliche Attribute. Wie macht es das ? Bitte helft mir.
@hustbaer
Richtig gute Links! Vielen Dank dafür!
Ich werde die Konventionen von launchbylunch.com umsetzen mit der Ausnahmen, dass ich die Tabellennamen im Plural schreibe. Ich find das einfach übersichtlicher.
@Mechanics
Dir auch danke für deine Mühen!
ELehmann schrieb:
Danke für die Antwort. Gibt es noch mehr beispiele?
Schau mal auf deiner Festplatte, dort, wo du den MySQL Connector/C++ installiert hast. Da sollte ein Ordner namens examples sein.
Das steht übrigens alles auch auf der Webseite, auf die du selbst verlinkt hast. Lesen hilft.
Auch da hilft die Suchmaschine deiner Wahl
z.B. Unresolved symbol: sql::mysql::get_driver_instance(void) oder Linker error with get_driver_instance() MySQL C++ VS2010
Die Frage war, ob du bei deinem Projekt 32- oder 64-bit verwendest? Und ob du den 32- oder 64-bit MySql-Connector installiert hast?
Aus der Ferne lassen sich solche Fragen immer schlecht genau beantworten - du mußt zumindestens die Grundlagen vom Kompilieren und Linken verstehen...
Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (alle ISO-Standards) 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.
Hallo ich stehe aktuell vor einem Modellierungsproblem im EER-Diagramm und weiß nicht wie ich dieses lösen soll.
Ich habe eine Oberentity Fahrrad und die Unterklasse Frauenfahrrad und Herrenfahrrad als Spezialisierung.
Dann habe ich allerings noch die Entitys Rennrad, Mountain Bike und Freizeitrad. Diese sind natürlich eine Spezialisierung beider Entitys(Frauenfahrrad, Herrenfahrrad ).
Da man nun keine Mehrfachvererbung benutzen darf stehe ich vor einem kleinen Problem. Soll ich die 3 Entitys auch von Fahrrad erben lassen oder geht das irgendwie anders?
Wie kann ich dies lösen?
mfg Keksever
Was genau soll den gespeichert werden? Gibt es nur eine Mahnung und dann ist Sense? Gibt es ein Mahnungsverfahren? etc etc... Lässt sich meiner Meinung nach nicht so pauschal sagen.
Du kannst es aber z.B. so aufbauen, dass Die Mahnung jeweils einen Verweis auf das Buch und auf den "Ausleiher" hat. Die Mahnung sollte sich wohl nicht auf mehrere "Ausleiher" beziehen können, aber vielleicht auf mehrere Bücher? Dann muss man hier noch etwas einbauen
Grüße