Avatar billede wilweb Nybegynder
27. april 2003 - 22:02 Der er 10 kommentarer og
1 løsning

request.form 'ens text felter og skriv til database

Hvordan gør jeg det smartes!
Jeg har en form med 24 text felter som skal skrives til en access database.

Jeg havde tænkt mig at bruge en løkke til at hente alle formens felter á al dette her:

For i = 1 To Request.Form.Count
ArrayFelt(i) = Request.Form.Item(i)
Next 

og så bruge strSQL = "Update db_tabel....... og så videre...

Men er det en smart måde at gøre det på og ville det virke???

Håber det er til at forstå!
Avatar billede dk_akj Nybegynder
27. april 2003 - 22:05 #1
jeg har gjort flg en gang.

strsql = "update tabelnavn set"

' opbyg sqlstreng
For i = 1 To Request.Form.Count
  strsql = strsql & " " & "felt"&i & " = " & Request.Form.Item(i)
Next


conn.execute (strsql)


Men det virker jo kun hvis dinne felter er fortløbende nummereret.'

//akj
Avatar billede dk_akj Nybegynder
27. april 2003 - 22:06 #2
Har du forskellige feltnavn kan du lave et array med feltnavne inden loop'et og så trække navnet ud fra array'et når du kører i loop.

//akj
Avatar billede wilweb Nybegynder
27. april 2003 - 22:23 #3
Nej det ser jo godt ud.
Jeg har fortløbende felt navne.

vil der være problemer med tomme text felter fra formen, på denne måde?
Avatar billede ellebaek Nybegynder
27. april 2003 - 22:56 #4
ikke hvis du tillader at feltet har længden 0 i din database...
Avatar billede wilweb Nybegynder
28. april 2003 - 19:36 #5
Jeg tillader 0 længde.

men jeg får følgende fejl:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression ''' felt2 = 'ww' felt3 = 'w' felt4 = 'w' felt5 = '' felt6 = '' felt7 = '' felt8 = '' felt9 = '' felt10 = '' felt11 = 'w' felt12 = '' felt13 = '' felt14 = '' felt15 = '' felt16 = '' felt17 = '' felt18 = '' felt19 = 'w' felt20 = '' felt21 = '' felt22 = '' felt2'.

/cykler/_validate_skema.asp, line 11


<!--#include file="_dbconn.asp"-->
<%
strsql = "update tbl_alledage set"

' opbyg sqlstreng
For i = 1 To Request.Form.Count
  strsql = strsql & " " & "felt"&i & " = '" & Request.Form.Item(i) & "'"
Next

'linje 11
conn.execute (strsql)
%>


kan I se hvad jeg gør galt?
Avatar billede wilweb Nybegynder
28. april 2003 - 19:38 #6
Det er tal og tekst der skal gemmes, derfor vil jeg skrive alle data til databasen som string variabler.
Avatar billede ellebaek Nybegynder
28. april 2003 - 20:07 #7
du bliver nødt til at afslutte din sql sætning også...
<!--#include file="_dbconn.asp"-->
<%
strsql = "update tbl_alledage set"

' opbyg sqlstreng
For i = 1 To Request.Form.Count
  strsql = strsql & " " & "felt"&i & " = '" & Request.Form.Item(i) & "'"
Next
strsql = strsql & "where id = " & request.querystring("id")
'linje 11
conn.execute (strsql)
%>
Avatar billede wilweb Nybegynder
28. april 2003 - 20:09 #8
Ok, det vil jeg lige prøve.
Avatar billede ellebaek Nybegynder
28. april 2003 - 20:12 #9
husk at tilpasse din id...
Avatar billede wilweb Nybegynder
01. juni 2003 - 22:37 #10
lukker!
Avatar billede wilweb Nybegynder
08. juni 2003 - 23:09 #11
får det ikke til at virke! Lukker!
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