AW: Abfrage: Ist Datensatz bereits vorhanden?
Zitat:
Zitat:
Zitat:
Dann haben wir 3 Fälle, wie ein 'COUNT(*) WHERE field = :foo' ermittelt wird.
|
AW: Abfrage: Ist Datensatz bereits vorhanden?
Hallo Leute! Danke für die vielen Antworten INSERT OR REPLACE war genau was ich gesucht habe!
Könnt Ihr mir noch verraten wie ich nun die Ergebnisse einer SELECT abfrage als GRID auf meinem Formular anzeigen lassen kann? Finde dazu leider keine weiteren Informationen ... Grüße, BenneX! |
AW: Abfrage: Ist Datensatz bereits vorhanden?
Ist eigenlich ganz simpel:
Code:
TDataSource.DataSet und TDbGrid.DataSource
DataSet -> DataSource -> DBGrid
Das DataSet ist natürlich deine Query-Komponente mit der Abfrage |
AW: Abfrage: Ist Datensatz bereits vorhanden?
Zitat:
Schneller gedacht, als getippt? ;) Ich schreibs nochmal: Eine SP ist per se nicht schneller als ein einzelnes SQL Statement, besonders dann, wenn die SP nur wirklich das SQL Statment kapselt. Daher spare <Ich> mir gern den Impact, ein SP statisch zu erstellen, wenn ich das gleich mit einem Select erreiche. Warum ist eine SP häufig schneller? Weil sie Traffic zwischen Client und Server spart oder auch Techniken einsetzen kann, die mit reinem SQL nicht funktionieren. Natürlich gibt es noch ein halbes dutzend andere Gründe, SP zu nutzen.. |
AW: Abfrage: Ist Datensatz bereits vorhanden?
Zitat:
Gruß K-H |
AW: Abfrage: Ist Datensatz bereits vorhanden?
Ach so, klar. Da habe ich dich missverstanden.
Ich verwende SP, um Datenbanklogik zu kapseln. z.B. hat nicht jedes RDBMS den REPLACE/INSERT Befehl. In einem anderen Fall haben wir den Zugriff auf eine Legacy-DB mit SP und Views abstrahiert, dann die neue Applikation gebaut und anschließend sukkezzive die DB ausgetauscht. Dank Abstraktionslayer (SP/View) kein Problem. Aber das ist ein gaaanz anderes Thema und diesmal keine Erbsenzählerei. |
AW: Abfrage: Ist Datensatz bereits vorhanden?
OT
@K-H: Meinst Du mich? Ein Fedehandschuh? :) Ich fand lediglich die "Formulierung" von dejan vu etwas wirr. Und da immer gern mal propagiert wird, dass eine SP eben schneller ist (egal ob es passt oder nicht) und also am besten usw., musste ich da mal nachhaken. Genaugenommen ist es hier im Thread nicht mal Erbsenzählerei, sondern eher Bohnen (server) oder so, wo es um Erbsen (sqlite) geht. Also, wer Äpfel mit Birnen vergleicht oder Bohnen mit Erbsen, macht wahrscheinlich einen riesen Fehler. Interessiert die meisten nicht die Bohne, also danke für Deine Aufmerksamkeit! /OT |
AW: Abfrage: Ist Datensatz bereits vorhanden?
@Jobo
Ich meinte das reine SQL. Die meisten Behauptungen, die hier aufgestellt wurden, kann ich leider nicht mehr nachvollziehen. Ein count(*) ist nach meiner Erfahrung immer noch der schnellste Weg zu sehen ob etwas da ist oder nicht. In den Anfangszeiten des MS-SQL-Servers waren diese Diskussionen allerdings noch notwendig, ich hatte angenommen, daß die Zeiten der Abfragen mit Optimierungshinweisen, der täglichen Indexpflege und der richtigen Join-Reihenfolge in der Zwischenzeit vorbei sind. So kann man sich täuschen. Gruß K-H |
AW: Abfrage: Ist Datensatz bereits vorhanden?
Zitat:
Danke für Deine Antwort. Ich habe folgendes ausprobiert: DBGrid1 auf meine Form gezogen und mittels markieren Delphi-Quellcode: table := Datenbank.GetTable('SELECT * FROM OGame'); DBGrid1.DataSource := table; table ist hierbei TSQLiteTable. Leider kriege ich nur den Fehler: Inkompatible Typen TDataSource und TSQLiteTable. Wo liegt mein Fehler? Grüße! |
AW: Abfrage: Ist Datensatz bereits vorhanden?
Das DBGrid mit einer TDatasource (das ist eine Komponente) verbinden und die Datasource mit einem TDataset (Deiner Tabelle).
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:04 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz