/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Parameterized Queries.
Fra : Stig Johansen


Dato : 04-08-09 06:08

Hej alle.

Inspireret af en del spørgsmål om SQL osv, samt den funktion som Leif Neland
henviste i en tidligere post, har nu lavet 1. udkast til en generel
parameterized query funktion.

Den kan bruges til både select og update/insert m.m.

Hvis det er en select, returneres resultsættet, og hvis det er andet
returneres rowsaffected.

End umiddelbar test med select og update ser ud til at virke fint.
Funktionen kommer her, hvis der er nogen der har lyst til at teste:
...... fil: sql.inc.asp
<%
Function query(connection, SQL, parameters)
Dim cmd, Counter , isSelect
Set cmd = Server.CreateObject("ADODB.Command")
Set cmd.ActiveConnection = connection
cmd.CommandType = adCmdText
cmd.CommandText = SQL
IF lcase(left(ltrim(SQL),6)) = "select" then
isSelect = true
else
isSelect = false
end if

For Counter = 0 To UBound(parameters)
cmd(Counter).value = parameters(Counter)
Next
if isSelect then
Set query = cmd.Execute
else
cmd.Execute , Counter
query = Counter
end if
End Function
%>
...... slut fil.

Den benytter en anden includefil adovbs.inc, som definerer bla adCmdText.
Ellers skal man bare bruge de numeriske værdier.

Eksempel på SELECT:
.....
Set oRs = query(oConn,"SELECT * FROM Databases WHERE
databasename=?",Array(Databasename))
if (Not oRs.eof) then
.....
Eksempel på UPDATE (SQL er bygget med UPDATE osv):
Response.Write "<br/>Rows affected " +
cStr(query(oConn,SQL,Array(NotesId)))

oConn er her en åben database connection.

Når den er testet lidt mere finder jeg et sted at lægge den til download.

Have fun.

--
Med venlig hilsen/Best regards
Stig Johansen




 
 
Stig Johansen (05-08-2009)
Kommentar
Fra : Stig Johansen


Dato : 05-08-09 09:58

Stig Johansen wrote:

> En umiddelbar test med select og update ser ud til at virke fint.

Af hensyn til fremtidige 'Googlere', så er der visse problemer[1] i
funktionen.
Betragt den som en inspiration, og ikke en endegyldig sandhed.

[1] Ved nærmere eftersyn/test.

--
Med venlig hilsen
Stig Johansen

Søg
Reklame
Statistik
Spørgsmål : 177547
Tips : 31968
Nyheder : 719565
Indlæg : 6408797
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste