Avatar billede c-lund Nybegynder
04. juli 2008 - 13:57 Der er 2 kommentarer

SQL Parameter

Hej

Jeg sidder og roder med noget Parameter se nedenstående.

strSQLLogin = "Select * from Medlemmer where Id = ?"
set cmd = Server.CreateObject("ADODB.Command")
set cmd.ActiveConnection = Conn
cmd.CommandText = strSQLLogin
cmd.CommandType = adCmdText
cmd.Parameters.Append cmd.CreateParameter("param1", 200, 1, 255, MedId)
set rsLogin = cmd.Execute()

Jeg for det rigtige ud af databasen. men ved ikke præcis hvad denne sætning gør:
cmd.Parameters.Append cmd.CreateParameter("param1", 200, 1, 255, MedId)

Hvad betyder de forskellige elementer i sætningen?
og er det den samme sætning uanset om man laver Select, Insert into, Update, Delete
Avatar billede softspot Forsker
04. juli 2008 - 14:05 #1
Linien tilføjer en ny parameter til parameters-listen på command-objektet.

Parametrene i kaldet til createParameter betyder som følger:

1. et navn til parameteren
2. typen af parameteren (i dette tilfælde mener jeg det er en varChar)
3. retningen af parameteren (en naturlig konklusion ville være at det er input)
4. den maksimale størrelse af værdien i parameteren, altså 255 i dette tilfælde
5. selve værdien parameteren skal antage

I dit eksempel benytter du talkonstanter til at angive egenskaber for parameteren, men det ville være meget mere naturligt at læse, hvis du benyttede de konstanter som er defineret i ADO-dll'en. Disse kan du få adgang til ved at smide denne linie i din global.asa:

<!-- METADATA TYPE="typelib" uuid="00000205-0000-0010-8000-00AA006D2EA4"  -->

Så har du adgang til ADO-konstantere overalt i din webapplikation. Så ville du kunne skrive ovenstående parameter-erklæring således i stedet:

cmd.Parameters.Append cmd.CreateParameter("param1", adVarChar, adParamInput, 255, MedId)

hvilket er mere intuitivt at læse.
Avatar billede softspot Forsker
04. juli 2008 - 14:09 #2
Du kan i øvrigt hente meget mere info om command-objektet her: http://msdn.microsoft.com/en-us/library/ms676571(VS.85).aspx

Hvis du kigger lidt op i dokument-hierarkiet på samme adresse, ser du at du står midt i hele samlingen af ADO reference manualen og - users guide, så der skulle være mulighed for at finde svar på det meste vedr. form og udførsel (hvis du er lidt nysgerrig).
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