Hallo,
ich habe eine Klasse, die aus Datenfeldern einer Access DB gefüllt wird.
In einem Menü in C# ändere ich Die Felder und schreibe diese dann über einen Update Befehl in der Klasse in die DB.
Die Klasse wiederum wird in einer zweiten Klasse in einer Liste gekapselt (jede Klasse 1 ist ein Datensatz)
Um diese Liste nun zu aktualisieren habe ich eine Refresh-Option programmiert, die die Werte neu ausliest und in die Liste speichert. (Liste wird geleert, Klassen werden neu instantiert und in die Liste gespeichert).
Leider liest er mir dabei die jeweils letzte Änderung nicht mit aus. Hat jemand ne Idee, woran das liegen könnte?
Ich nutze eine Datenbankklasse und lese die dann über ExecutiveReader aus. Öffne und schließe die Verbindung aber immer ordentlich. Gibt es da sowas wie einen Cach, der gelöscht werden müsste?
Beste Grüße
Solick
du gehörst eher nach ANSI-C denn Du hast Grundlagenprobleme.
Als Hinweiß: ein Charzeiger ist keine Stringklasse.
Sollte es hier weiter mit den C-Grundlagen gehen verschiebe ich Dich nach ANSI-C.
Also ich hatte mit Repli. bei MSSQL noch nie Probleme.
Es funktioniert einfach ohne sich darum zu kümmern.
Sogar wenn man einen Server hat der nicht dauerhaft am Netz hängt oder es sich um Modemverbindung etc. handelt.
Die Repl was Du mit Hilfprogrammen beschreibst ist genau das was MSSQL und MySQL bei der Repl. macht ohne das man eigene Hildprogramme schreiben muss.
MSSQL kann sogar jeden Serer mit jedem Repl. egal wo der Insert passiert.
Man darf jedoch nicht nach Autoinc. gehen.
Ich kenne jett zwar Oracle nicht so aber ist vermutlich ähnlich wie MSSQL.
IBMDB rate ich ab. Habe da derzeit große Probleme eine DB auf einen anderen Server zu kopieren.
Selbst so einfach Dinge sind da nicht sehr einfach möglich ohne sich sehr sehr intensiv einzuarbeiten.
Wenn es ein kl. Projekt ist dann MySQL und wenn es professionell sein soll dann eben MSSQL oder vielleicht Oracle.
Die Kosten von MSSQL amortisieren sich sehr schnell.
Insbesondere wenn es dann um Backup geht. Da funktioniert BackUpExec perfekt. Auch mit Filestreams etc.
EIne DB mit mehreren Mill einträgen ist in wenigen Minuten wieder ON.
Ist bei MySQL nicht so.
Habe es nun geschafft das ich eine Verbindung zur Datenbank herstellen kann und das ich sogar per insert into etwas in die Datenbank schreibe.
Nur wie kann ich jetzt am besten vorgehen wenn ich Daten aus einem Textfeld in die Datenbank schreiben möchte.
Habe mit Visual C++ ein Textfeld und eine Schaltfläche erstellt. Wenn ich nun auf die Schaltfläche klicke steht der Text aus dem Textfeld in einem label. Aber wie kann ich es nun anstellen das der Text in der Datenbank steht.
Muss ich dazu aus meiner projekt.ccp die Datenbank Verbindung und die notwendigen Klassen (mysql.h) einfach in die Form1.h kopieren. Ist das überhaupt möglich bzw. erlaubt oder muss man ne neue Klasse erstelle oder wie macht man das?
Also ich habe das auch schon Versucht nur dann bekomme ich eine Menge Fehler
Hi Danke für eure Antworten. Also das mit der Klammer funjktioniert. Es gab leider keine Fehlermeldung. Ich habe im record nur ekeine Datensätze gehabt
Hallo @Unix-Tom vielen Dank für den Link.
Ich habe 'mal auf der MySQL-Seite geschnüffelt. Sowie es aussieht benutze ich eine GPL (General Public License).
In diesem Zusammenhang bin ich auch auf die GNU-Seite gekommen und habe auch dort ein bißchen geschmökert. Man kann sich dort auch die deutsche Übersetzung anschauen.
Aber ganz ehrlich, das Ganze ist für einen nicht Juristen ziemlich schwere Kost.
Ich gehe 'mal davon aus, dass ich in meinem beschriebenen Fall keine kostenpflichtige Lizenz benötige.
Ich benutze ja lediglich ein selbst erstelltes privates Programm, das auf eine unter MySQL angelegte Datenbank zugreift. Oder
SOrry sind nicht von 20 Mill 20 Mill zu löschen sonderen 2 Mill.
Alle löschen gibt es Truncate.
Gegenüber MySQL ist MSSQL beim löschen sicher 10 Mal langsamer.
Natürlich immer abhängig vom Aufbau der Tabellen etc.
Ich denke das NestedSets immer dann das beste ist, wenn man nicht viel Veränderungen im Baum hat, oder den Baum dann jeweils im ganzen einspielen kann.
Mein erster Link verlinkt hierauf:
http://www.klempert.de/nested_sets/artikel/
Da gibts auch was zur Performance, was aber evtl. auch von vornerein die Nested Sets bevorzugt (z.b. in dem die Tests so gewählt werden).
Ausserdem werden für ParentIDs nicht LEFT JOINs benutzt, wie mein 2. Link zu dem Thema rät (habt ihr aber sicher schon gelesen ;)).
Allerdings wird dann ab einer gewissen Tiefe eine Tabelle zurückgegeben, welche auf den "unbesetzen" Ebenen NULL enthält. Was ich unschön finde, aber auch ok ist.
Gerade bei dieser Diskrepanz (rekursive/iterative SELECTS vs. LEFT JOIN bei der Performance) würde mich interessieren, was nun die Praxiserfahrung bevorzugt, und wie die Performance von ParentID wirklich ist.
DottetStrings ist für mich nur bei kleinen Bäumen eine wirkliche Alternative.
Problem bei vielen Bäumen ist jedoch, das man ihre Größe nicht wirklich einschränken kann, d.h. der Baum wird dann irgendwann einfach zu groß.
Auch die Speicherbelegung ist hier alles andere als optimal.
phlox
Belieben zu scherzen, oder ... ?
ähm.. ja! das war ich wohl schon ein bisschen überarbeitet und hab das problem nicht richtig verstanden. sorry, ist natürlich unsinn.
ingobulla schrieb:
[list][] ich arbeite unter Ubuntu, die ersten beiden fallen also flach
[] ich mutmaße, dass auch mit XAMPP PhpMyAdmin zum laufen zu bringen für jemanden mit meiner begrenzten Linux-Erfahrung nicht ganz trivial sein wird
Unter Ubuntu brauchst du nichtmals XAMPP. Installier einfach "phpmyadmin" und "mysql-server" über den paketmanager. Danach hast du unter http://localhost/phpmyadmin/ ein fertig eingerichtetes PhpMyAdmin.
Ich hab es mir angewöhnt entweder für sowas daS Import-Export-Programm von MySQL oder von MSSQL2008 zu verwenden.
Geht beides wobei mir das von MSSQL 2008 besser gefällt und auch fehlerfreier ist.
Hallo und Gutenmorgen,
ich habe eine Access DAtenbank aus der is mit .NET adodb rauslese, dabei verwende ich die OleDbCommand anweisung und nen entsprechendn Select-sql string! Nun will iuch diesen Select-sql striung gern automatisch zusammenstellen lassen bzw. die WHERE Klausel !
bsp. Select * from mytable where colum= a and colum =b and colume= c etc.
das heist die where ausdrücke sollen dynamisch sein welche mit and verknüft sind. Damit ich nicht den string nicht entsprechnt zusammenstezen muss, wär es cool das ich die wehre bedingung irgendwie über OldBAdapter oder so definieren kann?