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]