Thema: Delphi ADO Stored Procedure

Einzelnen Beitrag anzeigen

Das S

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

Re: ADO Stored Procedure

  Alt 23. Mär 2004, 21: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