AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi ADO Stored Procedure
Thema durchsuchen
Ansicht
Themen-Optionen

ADO Stored Procedure

Ein Thema von toyoman · begonnen am 2. Jun 2003 · letzter Beitrag vom 24. Mär 2004
Antwort Antwort
Seite 2 von 2     12   
toyoman

Registriert seit: 2. Jun 2003
323 Beiträge
 
Delphi 2010 Enterprise
 
#11

Re: ADO Stored Procedure

  Alt 9. Mär 2004, 12:32
hay!

ich verwende seit neustem die BETTERADODATASET Komponente.
hab diesen Tip im Internet gesehen und muss sagen ist um einiges schneller und auch weniger fehlerhaft.

http://www.delphipraxis.net/internal...ct.php?t=17501

gruss
  Mit Zitat antworten Zitat
frankg

Registriert seit: 20. Mai 2003
Ort: Wetter
72 Beiträge
 
Delphi 7 Architect
 
#12

Re: dankschön

  Alt 9. Mär 2004, 12:35
Zitat von ahachmann:
[
Darf ich kurz fragen, was dbGO ist? Sind das die Objekte unter dem Reiter ADO? Die benutze ich nämlich und bin mit der Geschwindigkeit garnicht zufreiden.
Bei 10000 Datensätzen warte ich für das Darstellen der Tabelle bis zu 10 Sekunden.
In der DB selber geht es ratz fatz.

thx
Alexander
Hallo Alexander!

Genau, die dbGO Komponenten sind die in Delphi enthaltenen ADO-Komponenten. Wenn Du mit der Geschwindigkeit nicht zufrieden bist, dann besorg Dir am besten mal das Buch "Delphi und ADO" von Andreas Kosch. Da steht, wie man ADO direkt programmiert und das rockt dann von der Geschwindigkeit her...

Du schreibst, dass die 10000 Datensätze in der Datenbank schnell angezeigt werden. Das kann verschiedene Gründe haben (unter anderem den, dass nicht alle Datensätze geladen werden sondern nur die die angezeigt werden (bzw. etwas mehr) und dass wenn der Anwender durch die Daten scrollt weitere Daten im Hintergrund nachgeladen werden. Aber mit direkter ADO Programmierung geht das trotzdem fixer als mit dbGO.

Viele Grüsse

Frank
  Mit Zitat antworten Zitat
Das S

Registriert seit: 1. Feb 2004
36 Beiträge
 
#13

Re: ADO Stored Procedure

  Alt 23. Mär 2004, 22:07
Hi,

also diese Frage ist zwar schon ein bißchen her, aber ich will trotzdem ein bißchen mehr schreiben:

Also meine Parameterübergabe an die Stored Procedure formuliere ich immer wie folgt:

datenadressesuchen.SPADRESSESUCHEN.Parameters.Item s[1].Value:=zentralestart.Edit1.Text+'%';

Meine Stored Procedure sieht dabei wie folgt aus:

CREATE PROCEDURE adresse_suchen @parameter nvarchar(100) = null
AS
/*################################################# #########################
# WENN KEINE EINGABE GEMACHT WURDE FOLGENDE FEHLERMELDUNG AUSGEBEN
################################################## ########################*/
IF @parameter = ''
BEGIN
RAISERROR ('Bitte geben Sie den Namen, die Firma oder den Ort ein', 16, 1, 'Hinweis')
END
/*################################################# ########################
# WENN EINGABE GEMACHT WURDE FOLGENDES SQL-STATEMENT AUSFÜHREN
################################################## #######################*/
IF @parameter <> ''
BEGIN
select firma as FIRMENNAME, name as NACHNAME, vorname as VORNAME, plz AS PLZ, ort AS ORT
from contact_kontakt
where name like @parameter or firma like @parameter or ort like @parameter
order by firma,name,ort
END
GO


Ich würde niemals die Parameterübergabe an eine Stored Procedure wie folgt schreiben:

adostoredproc1.parameters.parambyname('parameterna me').value:=blabla

Der Grund ist der, das erstens Rechtsschreibfehler irgendwann nerven und zweitens Du für die Namen die Datenbank nutzen solltest und Dir nicht in der Programmierung einen Kopf über irgendwelche Bezeichnungen machen solltest.

Ich hoffe es funzt jetzt. Eines noch: Diese ADO-Diskussion ob ADO schnell oder nicht schnell sollte man mal relativieren. Wieviel Datensätze werden denn gezogen über den ADO ? Wenn ich in einer Client-Server-Verbindung 1 Mio Datensätze hole, dann ist jede Verbindung lahm. Ich benutze schon seit ewigen Tagen ADO und zu 99% Stored Procedures in der Datenbank und hatte noch nie Probleme damit. Ich bin der Meinung das nicht ADO lahm ist sondern das Grid, in dem die Datensätze angezeigt werden. (Die obige Stored Procedure benötigt für 15000 Datensätze unter 1 s, und das obwohl haufenweise like-Abfragen drin sind)

Okay, bis denne denn

Steffen

[edit=Gérome]Zu lange Zeilen gekürzt. Mfg, Gérome[/edit]
  Mit Zitat antworten Zitat
frankg

Registriert seit: 20. Mai 2003
Ort: Wetter
72 Beiträge
 
Delphi 7 Architect
 
#14

Re: ADO Stored Procedure

  Alt 24. Mär 2004, 07:25
Hallo Steffen!

Zitat von Das S:
Ich bin der Meinung das nicht ADO lahm ist sondern das Grid, in dem die Datensätze angezeigt werden. (Die obige Stored Procedure benötigt für 15000 Datensätze unter 1 s, und das obwohl haufenweise like-Abfragen drin sind)
Soweit ich noch weiss hat niemand gesagt, dass ADO lahm ist (ist es nicht!), sondern nur, dass die dbGO Komponenten, die bei Delphi dabei sind Mist sind. Zu Deinem Beispiel mit der 1. Mio Datensätze. Ja klar dauert das was, egal welche Technologie man einsetzt, aber wichtig ist doch ob es ne halbe Stunde dauert oder vielleicht nur 5 Minuten.

Viele Grüsse

Frank
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:15 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