Avatar billede sunero Nybegynder
25. maj 2004 - 13:22 Der er 5 kommentarer og
2 løsninger

Hente data vha. Stored procedures

Hejsa

Jeg har en stored procedure i en SQL-db, der hedder sp_xal_seqno som ser sådan ud :

CREATE PROCEDURE sp_xal_seqno  @increment INT, @dataset CHAR(3) AS 
BEGIN TRAN 
UPDATE XALSEQ SET SEQNO = SEQNO + @increment   
WHERE DATASET = @dataset AND SEQID = 0 
SELECT SEQNO - @increment FROM XALSEQ   
WHERE DATASET = @dataset AND SEQID = 0 
COMMIT TRAN 
GO

Mit spørgsmål er så, hvordan kalder man den og hvorledes henter man resultatet ud af den ?
Avatar billede mortency Nybegynder
25. maj 2004 - 13:28 #1
set adoCn = Server.CreateObject("ADODB.Connection")
        set adoRs = Server.CreateObject("ADODB.Recordset")
        strSQL = "sp_xal_seqno"
        set adoRs = adoCn.Execute(strSQL)
Avatar billede sunero Nybegynder
25. maj 2004 - 13:35 #2
Jeg har sat følgende ind :

linie 16 :  set adoCn = Server.CreateObject("ADODB.Connection")
linie 17 :  set adoRs = Server.CreateObject("ADODB.Recordset")
linie 18 :  strSQL = "sp_xal_seqno 10, 'DAT'"
linie 19 :  set adoRs = adoCn.Execute(strSQL)

Men få følgende fejl :
ADODB.Connection (0x800A0E78)
Handlingen er ikke tilladt, mens objektet er lukket.
/CWP/O_Check4.asp, line 19

og jeg ved heller ikke hvordan jeg skal få data'ene ud fra mit recordset.
er det sådan ?

if adoRs.EOF then
    response.Write(AdoRs("sp_xal_seqno"))
end if
Avatar billede mortency Nybegynder
25. maj 2004 - 13:54 #3
strDatabaseName = ""
strDatabaseLocation = ""
strDatabaseUsername = ""
strDatabasePassword = ""
strConn = "Provider=SQLOLEDB;Initial Catalog=" & strDatabaseName & "; Server=" & strDatabaseLocation & ";User ID=" & strDatabaseUsername & ";Password=" & strDatabasePassword & ""   
set adoCn = Server.CreateObject("ADODB.Connection")
    adoCn.Open strConn
        set adoRs = Server.CreateObject("ADODB.Recordset")
        strSQL = "sp_GetImages"
        set adoRs = adoCn.Execute(strSQL)
            dittvariabelnavn = adoRs("feltfradbsomskalgentes")
        adoRs.Close
        set adoRs = nothing
    adoCn.Close
    set adoCn = nothing
Avatar billede mortency Nybegynder
25. maj 2004 - 13:59 #4
Prøv dette!

<%
strDatabaseName = "databasenavn"
strDatabaseLocation = "ip eller servernavn"
strDatabaseUsername = "brukernavn"
strDatabasePassword = "passord"
strConn = "Provider=SQLOLEDB;Initial Catalog=" & strDatabaseName & "; Server=" & strDatabaseLocation & ";User ID=" & strDatabaseUsername & ";Password=" & strDatabasePassword & ""   
set adoCn = Server.CreateObject("ADODB.Connection")
adoCn.Open strConn
set adoRs = Server.CreateObject("ADODB.Recordset")
strSQL = "sp_GetImages"
set adoRs = adoCn.Execute(strSQL)
 
If adoRs.EOF Then
    Response.Write "Ingen treff!"
End if

Do While Not adoRs.EOF
    Response.Write(adoRs("DittFeltFraDB") & "<br>")
adoRs.MoveNext
Loop

adoRs.Close
set adoRs = nothing   

adoCn.Close
set adoCn = nothing   
%>
Avatar billede mortency Nybegynder
25. maj 2004 - 14:00 #5
Sorry bytt ut denne linje:


strSQL = "sp_GetImages"

med

strSQL = "sp_xal_seqno"
Avatar billede sunero Nybegynder
25. maj 2004 - 14:04 #6
Sådan skal det se ud :

set adoRs = Server.CreateObject("ADODB.Recordset")
strSQL = "sp_xal_seqno 10, 'DAT'"
set adoRs = dbconn.Execute(strSQL)
set sVariabel = adoRS("")
response.Write(sVariabel)

Jeg ved ikke hvorfor adoRS skal være to, men sådan er det åbenbart når den stored procedure man kalder ikke har noget OUTPUT.

Mortency smid et svar, så får du halvdelen af pointene.
Avatar billede mortency Nybegynder
25. maj 2004 - 14:08 #7
:-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester