Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > de.comp.lang.delphi.misc > #19090 > unrolled thread
| Started by | Christian Schmitt <chrischmi0815@googlemail.com> |
|---|---|
| First post | 2020-09-13 05:31 -0700 |
| Last post | 2020-10-07 00:53 -0700 |
| Articles | 5 — 4 participants |
Back to article view | Back to de.comp.lang.delphi.misc
Erste Schritte mit SQL, Refresh-Problem DBGrid Christian Schmitt <chrischmi0815@googlemail.com> - 2020-09-13 05:31 -0700
Re: Erste Schritte mit SQL, Refresh-Problem DBGrid Alfred Gemsa <gemsa@gmx.de> - 2020-09-14 07:40 +0200
Re: Erste Schritte mit SQL, Refresh-Problem DBGrid Christian Schmitt <chrischmi0815@googlemail.com> - 2020-09-15 09:54 -0700
Re: Erste Schritte mit SQL, Refresh-Problem DBGrid "Martin Schade" <m.schade@mvnet.de> - 2020-10-05 18:19 +0200
Re: Erste Schritte mit SQL, Refresh-Problem DBGrid Christian Kirsch <administrator@stjakobushospiz.de> - 2020-10-07 00:53 -0700
| From | Christian Schmitt <chrischmi0815@googlemail.com> |
|---|---|
| Date | 2020-09-13 05:31 -0700 |
| Subject | Erste Schritte mit SQL, Refresh-Problem DBGrid |
| Message-ID | <fee48cb5-c30e-48a0-8fa7-5c2395c15d9fn@googlegroups.com> |
Hallo Leute, ich versuche mich gerade mal mit SQL. Habe mich über einen ClientDataSet mit einer Tabelle einer MySQL Datenbank (MariaDB) verbunden. Funktioniert alles soweit auch ganz gut. Jedoch: Wenn ich die Tabelle aktualisieren möchte muß ich die ClientDataSet.Refresh Methode immer zweimal aufrufen, damit die Tabelle auch aktuell ist. Wenn ich beispielsweise einen Datensatz hinzugefügt habe, dann verschwindet dieser beim ersten Refresh wieder um beim zweiten Refresh wieder zu erscheinen. Wenn ich direkt mit PHPMyAdmin einen Eintrag mache, dann muß auch hier 2x refreshed werden, damit der erscheint. Habt Ihr da eine Idee? Gruß
[toc] | [next] | [standalone]
| From | Alfred Gemsa <gemsa@gmx.de> |
|---|---|
| Date | 2020-09-14 07:40 +0200 |
| Message-ID | <hs8e37FrnorU1@mid.individual.net> |
| In reply to | #19090 |
Am 13.09.2020 um 14:31 schrieb Christian Schmitt: > ich versuche mich gerade mal mit SQL. Habe mich über einen ClientDataSet mit einer Tabelle einer MySQL Datenbank (MariaDB) verbunden. Funktioniert alles soweit auch ganz gut. Jedoch: Wenn ich die Tabelle aktualisieren möchte muß ich die ClientDataSet.Refresh Methode immer zweimal aufrufen, damit die Tabelle auch aktuell ist. Wenn ich beispielsweise einen Datensatz hinzugefügt habe, dann verschwindet dieser beim ersten Refresh wieder um beim zweiten Refresh wieder zu erscheinen. Wenn ich direkt mit PHPMyAdmin einen Eintrag mache, dann muß auch hier 2x refreshed werden, damit der erscheint. Habt Ihr da eine Idee? Ich habe seinerzeit viel mit DB-Komponenten gemacht und könnte dir eventuell helfen, wenn du zeigst, welche Komponenten du benutzt (Database, Transaction, Dataset, ev. SQL und auch Trigger), die dann das DBGrid füttern. Aus dem Kopf weiß ich das nicht mehr. Alfred
[toc] | [prev] | [next] | [standalone]
| From | Christian Schmitt <chrischmi0815@googlemail.com> |
|---|---|
| Date | 2020-09-15 09:54 -0700 |
| Message-ID | <7176a584-c30e-4c18-9116-75320d51e705n@googlegroups.com> |
| In reply to | #19091 |
Alfred Gemsa schrieb am Montag, 14. September 2020 um 07:40:58 UTC+2: > Ich habe seinerzeit viel mit DB-Komponenten gemacht und könnte dir > eventuell helfen... Sehr gut, klingt vielversprechend :-) > ...wenn du zeigst, welche Komponenten du benutzt > (Database, Transaction, Dataset, ev. SQL und auch Trigger), die dann das > DBGrid füttern. Natürlich gerne: Also ich habe auf meinem Synology eine Maria-DB Datenbank angelegt. Mein Delphi-Programm habe ich mit einer TSQLConnection ausgestattet (Driver = MySQL, GetDriverFunc = getSQLDriverMYSQL, LibraryName = dbxmys.dll, LoadParamsOnConnection = false VendorLib LIBMYSQL.dll). Mit dem SQLConnection habe ich dann ein TSQLDataSet verbunden (CommandType = ctTable), worauf wiederum ein TDatasetProvider zugreift. Dann kommt ein TClientDataSet, der mit dem Provider verbunden ist und eine TDataSource speist. Und darauf schlussendlich greift das DB Grid zu. Den ClientDataSet muss ich 2x refreshen, wie schon geschrieben. Gruß PS: Bitte nicht schlagen wenn das irgendwie total von hinten durch die Brust geschossen ist, das habe ich mir so in der Reihenfolge zusammengegoogelt und funktioniert eigentlich bis jetzt ganz gut. Heißt nicht dass ich nicht von einem alten Hasen Lehre annehmen will... :-)
[toc] | [prev] | [next] | [standalone]
| From | "Martin Schade" <m.schade@mvnet.de> |
|---|---|
| Date | 2020-10-05 18:19 +0200 |
| Message-ID | <rlfh2r$780$1@tota-refugium.de> |
| In reply to | #19090 |
Hallo Christian, Du könntest mal schreiben welche Delphi-Version Du benutzt. Grüße, Martin Schade
[toc] | [prev] | [next] | [standalone]
| From | Christian Kirsch <administrator@stjakobushospiz.de> |
|---|---|
| Date | 2020-10-07 00:53 -0700 |
| Message-ID | <8efaff81-2541-4bda-8ab6-3ad70e8fefc2n@googlegroups.com> |
| In reply to | #19093 |
Martin Schade schrieb am Montag, 5. Oktober 2020 um 18:19:40 UTC+2: > Hallo Christian, Du könntest mal schreiben welche Delphi-Version Du benutzt. Delphi XE2 Update 4, Hotfix 1. Ich habs jetzt momentan so gelöst, dass ich im BeforRefresh Ereignis des ClientDataSets sein SQLDataset.Refresh aufrufe. Damit reicht jetzt ein einziger Refresh aus, weiß aber nicht ob das so ok ist bzw. die Performance später bei vielen Datensätzen evtll darunter leidet?! Gruß
[toc] | [prev] | [standalone]
Back to top | Article view | de.comp.lang.delphi.misc
csiph-web