per asp gespeicherte prozedur auf SQL Server aufrufen!!
Eldrik
- asp.net
0 Frank0 Martin Speiser0 Eldrik0 Martin Speiser0 Frank
Hi,
zu meinem Problem wie kann ich per asp eine gespeicherte Prozedur auf einem SQL- Server aufrufen, und dieser durch ein Formular eingegebene Daten zukommen lassen? Die diese für die Verarbeitung benötigt?
Hätte da jemand evtl. Code für mich wie ich das am Besten bewerkstelligen könnte?
Greetz
Eldrik
Hi,
zu meinem Problem wie kann ich per asp eine gespeicherte Prozedur auf einem SQL- Server aufrufen, und dieser durch ein Formular eingegebene Daten zukommen lassen? Die diese für die Verarbeitung benötigt?
Hätte da jemand evtl. Code für mich wie ich das am Besten bewerkstelligen könnte?
Greetz
Eldrik
Hi,
URL 1: http://www.aspheute.com/artikel/20020903.htm
'wie man Stored Procedures einfach(er) erstellt
URL 2: http://www.aspheute.com/artikel/20001013.htm
'verschiedene Anwendungsmöglichkeiten und Tips für bessere Performance
Gruß, Frank
Hi Eldrik,
zu meinem Problem wie kann ich per asp eine gespeicherte Prozedur auf einem SQL- Server aufrufen, und dieser durch ein Formular eingegebene Daten zukommen lassen? Die diese für die Verarbeitung benötigt?
mit den drei Funktionen geht's:
<%
function AdoCreateConnection( strDBConnect )
Dim adoConn
set adoConn = Server.CreateObject( "ADODB.Connection" )
with adoConn
.ConnectionString = strDBConnect
.CursorLocation = 3 ' ADODB.adUseClient
.Open
end with
set AdoCreateConnection = adoConn
end function
function AdoCreateCommandSP( strDBConnect, strStoredProcName )
Dim adoCmd
Set adoCmd = Server.CreateObject( "ADODB.Command" )
With adoCmd
Set .ActiveConnection = AdoCreateConnection( strDBConnect )
.CommandType = 4 ' ADODB.adCmdStoredProc
.CommandText = strStoredProcName
.NamedParameters = true
End With
Set AdoCreateCommandSP = adoCmd
end function
function AdoExecCommandRS( adoCmd )
Dim rs
Set rs = adoCmd.Execute()
Set rs.ActiveConnection = Nothing
Set AdoExecCommandRS = rs
End Function
%>
Beispielaufruf:
Dim adoCmd
set adoCmd = AdoCreateCommandSP( strDBConnect, strStoredProcedure )
with adoCmd
.Parameters.Refresh
.Parameters( "@LangID" ).Value = nLanguageID
end with
Dim rs
set rs = AdoExecCommandRS( adoCmd )
set adoCmd = Nothing
Gruß,
Martin
Danke ersteinmal Martin u. Frank für die Antworten, nur kann ich mir wenig darunter vorstellen,
vielleicht hilft es euch wenn ich ein wenig beschreibe was ich vorhabe.
Ich möchte das ein in der DB vorgegebenes Feld = CountID das bis jetzt den Wert 0 besitzt, bei einem Login eines Users um einen hochgezählt wird.
Also einen Counter! dieser Wert soll auch nur in der DB stehen.
Und nirgends anders ausgegeben werden.
Um den richtigen Wert hinter einem Benutzer um einen zu erhöhen möchte ich noch den vorher eingegebenen Benutzernamen an die Prozedur übergeben, damit diese Anhand dieses Wertes den Eintrag um einen hochzählen kann.
Die Variable vom Formular für den User ist: Eing_User.
Zum besseren Verständnis Poste ich mal eben die Prozedur:
CREATE PROCEDURE dbo.AddInfo @InputUserName varchar (12) AS
update login set CountID = CountID + 1 where usr = @InputUsername
@InputUsername soll der Übergebene Wert des Benutzernames sein.
Könnte mir evtl. jemand anhand meiner Beschreibung einen Code basteln??
Greetz
Eldrik
Hallo Eldrik,
Könnte mir evtl. jemand anhand meiner Beschreibung einen Code basteln??
tut mir leid, das hier ist das SELF-Forum. Das heißt, du musst es selbst machen anhand der Beschreibung von Frank und mir. Dabei kannst du auch was lernen, und bist für das nächste Mal gewappnet :-)
Gruß,
Martin
vielleicht hilft es euch wenn ich ein wenig beschreibe was ich vorhabe.
Ich möchte das ein in der DB vorgegebenes Feld = CountID das bis jetzt den Wert 0 besitzt, bei einem Login eines Users um einen hochgezählt wird.
Also einen Counter! dieser Wert soll auch nur in der DB stehen.
Und nirgends anders ausgegeben werden.
Um den richtigen Wert hinter einem Benutzer um einen zu erhöhen möchte ich noch den vorher eingegebenen Benutzernamen an die Prozedur übergeben, damit diese Anhand dieses Wertes den Eintrag um einen hochzählen kann.
Die Variable vom Formular für den User ist: Eing_User.
Zum besseren Verständnis Poste ich mal eben die Prozedur:
CREATE PROCEDURE dbo.AddInfo @InputUserName varchar (12) AS
update login set CountID = CountID + 1 where usr = @InputUsername
@InputUsername soll der Übergebene Wert des Benutzernames sein.
Könnte mir evtl. jemand anhand meiner Beschreibung einen Code basteln??
Hi Eldrik,
ganz so einfach geht das leider nicht.
Mit meinen Links/URLs auf Artikel in www.aspheute.com habe ich dir doch die Grundlagen zur Verfügung gestellt, den Code in diesen Artikeln auf deine Anforderungen umzuschreiben.
In den Artikeln steht etwas über das "Command" Objekt von ADO, welches benötigt wird um Stored Procedures anzufassen, außerdem kann man herauslesen, wie man die entsprechenden Parameter der SP mit Werten füllt.
Gruß, Frank