>Komisch. Ohne Fremdkomponenten hätte unsere Anwendung 50% weniger Funktionalität
Ich verzichte einerseits auf Fremdkomponenten, um nicht bei Updates (Delphiversion) trotz (erworbenen) Sourcecode
mal auf dem Schlauch zu stehen, aber hauptsächlich aus Performancegründen.
Viele Fremdkompos haben zwar viele mühsam zu programmierende Features, aber meistens brauch man lediglich 30.50% und zahlt den Rest mit Effizienzverlusten. Habe z.B. zumn Thema GRID/DBGRID und Treeview viele
compos getestet. Selbst professionelle wie TMS, die zwar super sind, gehen schnell in die Knie was Geschwindigkeit angeht. Selbst das normale Delphi Treeview ist um einen 3 stelligen Faktor langsamer als ein Grid.
Facit: Habe mit ein komfortables treeview aus einem selbstentwickelteten Grid entwickelt.
Über eine Property habe ich sowohl grid als auch treeview Funktionaliät & und Aussehen.
Und gigantische Geschwindigkeitsvorteile.
Zum Thema zurück:
sql-Injection...
soweit ich weiss, werden parametrisierte Befehle im Client substituiert und zum Server genauso geschickt, als wenn man die Parametersubstition direkt macht.
Ausserdem kann ich immer noch für die Server-Client Kommunikation ein Encrypt/Decrypt Modul zwischenschieben.
Das Thema Sicherheit ist wichtig, wenn ich mich da irre, was die Parameterauswertung angeht, bin ich für jede Korrektur meiner Aussage dankbar.
>Da heist es dann 3-Schicht Architektur.
ADO kann zwar von sich aus sowas, aber da der
MySQL-Server keine >Serverseitigen Curser unterstützt muss dieser erst alles "Loswerden" damit du weiter mit der Connection arbeiten >kannst.
Das ist mir klar, deshalb hatte ich schon mal an einen serverseitig vorgeschalteten Kommuniaktionsserver gedacht.Nachteilig ist, dass die bei Web-Basierten Servern nich tmöglich bzw. zu aufwendig wäre.
>
ADO.NET ist mit der
DB-Ungebundenheit nicht schlecht.
genau daran habe ich auch gedacht, bin aber dann wieder was die
DB-Kopplung angeht im Microsoft abhängigen Bereich.
Alternativ wäre ein intelligenter
Query-Thread, die erst eine kleine Keytabelle vom Server abruft und dann die kompletten Datensätze anhand der Schlüssel in von/bis-Key Blöcken abruft.