/ 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
Delning af lang insert into sætning
Fra : Peter Vestergaard


Dato : 11-05-02 20:56

Hej

Jeg sidder med en insert into sætning som er blevet alt for lang
- hvordan kan jeg opdele den så den er på flere linjer ?

koden ser sådan her ud:
conn.Open strDSN
conn.Execute("INSERT INTO testUsers(firstName, lastName, adress,
zip, city, phone, email, birthDate, clubID, state,
commercialReceiver, newsReceiver, creationDate, homepage,
password, boyGirl, Paid) VALUES('" & request.form("firstName") &
"', '" & request.form("lastName") & "', '" &
request.form("address") & "', '" & request.form("zip") & "', '" &
request.form("city") & "', '" & request.form("phone") & "', '" &
request.form("email") & "', '" & request.form("birthDate") & "',
'" & request.form("clubID") & "', '" & request.form("state") &
"', '" & request.form("commercialReceiver") & "', '" &
request.form("newsReceiver") & "','" #& Now &# "','" &
request.form("homepage") & "', '" & request.form("password") &
"', '" & request.form("boyGirl") & "', '" & request.form("paid")
& "')")

Lidt lang som I kan se

På forhånd tak for hjælpen

/Peter

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Ole Dalsgaard Jensen (11-05-2002)
Kommentar
Fra : Ole Dalsgaard Jensen


Dato : 11-05-02 21:32

Hej Peter

Jeg ville nok benytte en variabel, f.eks. Sql

Sql = "INSERT INTO testUsers (firstName, LastName etc......) "
Sql = Sql & "VALUES ('" & request.form("firstName") & "','" &
request.form("lastName") etc.....
Sql = Sql & etc.....
conn.Execute(Sql)

mvh.
Ole Dalsgaard Jensen
mailto:ole.dalsgaard@stofanet.dk


Peter Vestergaard <vsign@vsign.dk> skrev i en
nyhedsmeddelelse:abjsvp$kv0$1@sunsite.dk...
> Hej
>
> Jeg sidder med en insert into sætning som er blevet alt for lang
> - hvordan kan jeg opdele den så den er på flere linjer ?
>
> koden ser sådan her ud:
> conn.Open strDSN
> conn.Execute("INSERT INTO testUsers(firstName, lastName, adress,
> zip, city, phone, email, birthDate, clubID, state,
> commercialReceiver, newsReceiver, creationDate, homepage,
> password, boyGirl, Paid) VALUES('" & request.form("firstName") &
> "', '" & request.form("lastName") & "', '" &
> request.form("address") & "', '" & request.form("zip") & "', '" &
> request.form("city") & "', '" & request.form("phone") & "', '" &
> request.form("email") & "', '" & request.form("birthDate") & "',
> '" & request.form("clubID") & "', '" & request.form("state") &
> "', '" & request.form("commercialReceiver") & "', '" &
> request.form("newsReceiver") & "','" #& Now &# "','" &
> request.form("homepage") & "', '" & request.form("password") &
> "', '" & request.form("boyGirl") & "', '" & request.form("paid")
> & "')")
>
> Lidt lang som I kan se
>
> På forhånd tak for hjælpen
>
> /Peter
>
> --
> Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
> - Pædagogiske tutorials på dansk
> - Kom godt i gang med koderne
> KLIK HER! => http://www.html.dk/tutorials







Jørn Andersen (11-05-2002)
Kommentar
Fra : Jørn Andersen


Dato : 11-05-02 22:43

On Sat, 11 May 2002 19:55:37 +0000 (UTC), Peter Vestergaard
<vsign@vsign.dk> wrote:

>Jeg sidder med en insert into sætning som er blevet alt for lang
>- hvordan kan jeg opdele den så den er på flere linjer ?
>
>koden ser sådan her ud:
>conn.Open strDSN
>conn.Execute("INSERT INTO testUsers(firstName, lastName, adress,
>zip, city, phone, email, birthDate, clubID, state,
>commercialReceiver, newsReceiver, creationDate, homepage,
>password, boyGirl, Paid) VALUES('" & request.form("firstName") &
>"', '" & request.form("lastName") & "', '" &
>request.form("address") & "', '" & request.form("zip") & "', '" &
>request.form("city") & "', '" & request.form("phone") & "', '" &
>request.form("email") & "', '" & request.form("birthDate") & "',
<SNIP resten>

Hej Peter,
Der er flere ting, du kan gøre - og dermed løse flere af de problemer,
der er med dit nuværende "setup".

1) Start med at definere din SQL-streng - og kør den så bagefter:
strSql = "INSERT ..."
conn.Execute(strSQL)
(Det har den sidegevinst, at du let kan udskrive strSql, hvis der
bliver problemer med den.)

2) Linier kan "forlænges" med '_' (underscore)
strSql = "INSERT INTO testUsers(firstName, lastName," & _
" adress, zip, city, phone, email, birthDate," & _
" clubID, state, commercialReceiver, newsReceiver," & _
" creationDate, homepage," -- osv.

3) Endelig er det generelt en dårlig idé at have
Request.Form-erklæringer direkte i SQL-strengen. Som regel vil man
være interesseret i at foretage en form for validering.
Fx sikre sig, at datofelter udfyldes med gyldige datoer, at tal ligger
inden for fornuftige intervaller, at tekstfelter ikke er tomme etc.
I værste fald kan man smadre alle sine data, hvis man ikke validerer
sine data først.

Så som regel er det smartest at lave en slags "input-sektion" i sin
kode, hvor man henter formular-indholdet ind i nogle variable, som man
så validerer - og kun fører over i databasen, hvis data er valide.

Det kunne fx være noget i retning af:
datBirthDate = Request.Form("birthDate")
If IsDate(datBirthDate) Then
' -- OK
Else
' -- Fejl
End If

Dette har så også den sidegevinst, at din SQL-streng oftest bliver
noget kortere og lettere at læse, når du slipper af med alle
Request.Form'erne.


Good luck,
Jørn

--
Jørn Andersen,
Brønshøj

Allan Schuster Bach (12-05-2002)
Kommentar
Fra : Allan Schuster Bach


Dato : 12-05-02 16:11

<snip en masse>
> Dette har så også den sidegevinst, at din SQL-streng oftest bliver
> noget kortere og lettere at læse, når du slipper af med alle
> Request.Form'erne.
>
>
> Good luck,
> Jørn

Generelt kan man vel opdele valideringen på 3 måder
Klient-side (Foretages inden formen bliver afsendt)
Server-side (Præsic som du forslå)
Databasen (Kan bruges sammen stored procedure)

Rigtig meget validering kan foretages på klientsiden, men som du selv
nævner, vil det være
en god ide, at kontroller data, inden de bliver sendt til databasen.

Men hensyn til lange SQL-sætning'er, vil jeg anbefale, at du gøre som Ole
har beskrevet.
Det giver, igen efter min opfattelse, den bedste læsevenlighed.

Allan Bach





Jørn Andersen (12-05-2002)
Kommentar
Fra : Jørn Andersen


Dato : 12-05-02 18:28

On Sun, 12 May 2002 17:11:19 +0200, "Allan Schuster Bach"
<newskonto@schuster.dk> wrote:

>Rigtig meget validering kan foretages på klientsiden, men som du selv
>nævner, vil det være
>en god ide, at kontroller data, inden de bliver sendt til databasen.

Jeg synes, at fordelen ved klientside-validering er, at man slipper
for nogle server-kald. Omvendt er klientside-validering ikke specielt
pålidelig, og jeg vil normalt lave serverside-validering som om der
ikke er foretaget nogen klientside-validering.

Mvh. Jørn


--
Jørn Andersen,
Brønshøj

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408941
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste