20. oktober 2009 - 23:10Der er
26 kommentarer og 1 løsning
Problemer med tilføjelse af data fra formular til DB
Hej
Er der nogle der vil hjælpe mig med at finde problemet med nedenstående kode, kan ikke få den til at tilføje data til databasen efter jeg har tilføjet den skal tage flere felter fra den forudgående formular. Laver jeg en enkelt insert info sætning med kun et request.form virker det fint og den indsætter data, men efter jeg har ændret til at den skal tage flere funker det ikke rigtigt. Håber en kan rette koden til så det vil virke.
På forhånd tak.
<!--#include file="database_con.asp"--> <% strSQL = "Insert into tblTilmeldinger ("
Hvilken browser bruger du? Du kan slå visning af fejlbeskeder fra/til i indstillinger. I en dansk Internet Explorer hedder det vist noget i stil med "Slå visning af brugervenlige fejlbeskeder fra/til". Og det, du ser nu, er vist en "brugervenlig" fejlbesked, så der skal vist ikke være et kryds i feltet.
Måske skyldes fejlen et manglende mellemrum før VALUES:
'hvis medlemsnummer kolonnen er sat til tekst så således strSQL = strSQL & "'" &Request.Form("medlemsnummer")&"', " 'men hvis medlemsnummer kolonnen er sat til tal så således 'strSQL = strSQL & "" &Request.Form("medlemsnummer")&", "
'og det er også gældendende for resten af kolonnerne
Tusind tak for hjælpen, det sidste gjorde forskellen og nu funker det bare :-) Tænkte nok det var sådan noget, men havde stirret mig totalt blind på det.
Så bliver man nødt til at ringe til en ven som udvej :-)
Hey igen. Hvordan får jeg den til at skrive true/false via ovenstående kode ? Kan sku ikke rigtig få den til spille.
Har et felt i DB der hedder Start1 som er Ja/Nej felt og har samme på website MEN hvordan får jeg den via koden til at sætte feltet i db til True/False via Form.Request? skal koden for den type felter se anderledes ud eller ?
'hvis medlemsnummer kolonnen er sat til tekst så således strSQL = strSQL & "'" &Request.Form("medlemsnummersend")&"'," 'men hvis medlemsnummer kolonnen er sat til tal så således 'strSQL = strSQL & "" &Request.Form("medlemsnummer")&", "
'og det er også gældendende for resten af kolonnerne
'hvis medlemsnummer kolonnen er sat til tekst så således strSQL = strSQL & "'" &Request.Form("medlemsnummersend")&"'," 'men hvis medlemsnummer kolonnen er sat til tal så således 'strSQL = strSQL & "" &Request.Form("medlemsnummer")&", "
'og det er også gældendende for resten af kolonnerne
Start 1 er en checkbox som angivet :-) Og feltet i DB er et True/False felt.
Synes bare ikke rigtig jeg kan få det til at spille. Den kommer med internal server error ved submit.
Koden ser således ud (har forsøgt med både "" omkring true og false og uden som nedenfor - Begge med samme negative resultat :-(
Start1=Request.Form("Start1") If Not Start1=True Then Start1=False Start2=Request.Form("Start2") If Not Start2=True Then Start2=False Start3=Request.Form("Start3") If Not Start3=True Then Start3=False Start4=Request.Form("Start4") If Not Start4=True Then Start4=False Start5=Request.Form("Start5") If Not Start5=True Then Start5=False Start6=Request.Form("Start6") If Not Start6=True Then Start6=False Start7=Request.Form("Start7") If Not Start7=True Then Start7=False Start8=Request.Form("Start8") If Not Start8=True Then Start8=False Start9=Request.Form("Start9") If Not Start9=True Then Start9=False Start10=Request.Form("Start10") If Not Start10=True Then Start10=False Start11=Request.Form("Start11") If Not Start11=True Then Start11=False
'hvis medlemsnummer kolonnen er sat til tekst så således strSQL = strSQL & "'" &Request.Form("medlemsnummersend")&"'," 'men hvis medlemsnummer kolonnen er sat til tal så således 'strSQL = strSQL & "" &Request.Form("medlemsnummer")&", "
'og det er også gældendende for resten af kolonnerne
Virker desværre stadig ikke :-( Der er ikke umiddelbart en indstilling i min IE der hedder noget lig det du tidligere har skrevet. Eneste der er der ligner er "Deaktiver script-fejlfinding (Internet Explorer) og en med "Anden" i ()
Hverken slået fra eller til hjælper det på fejlbeskederne, det er den totalt samme.
Har webserveren der arbejdes på i eget hus så har slået client-side og server-side script debugging til på website og på serveren kommer der følgende fejl
----- Microsoft OLE DB Provider for ODBC Drivers: [Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x1858 Thread 0x1824 DBC 0x2c446004 Jet'. -----
Insert into tblTilmeldinger (Medlemsnummer,Spillernavn,Klub,Snit,Raekke,Bemaerkninger,Email,Telefon,Ekstraspil,Holdspil,Holdspilmed,Start1,Start2,Start3,Start4,Start5,Start6,Start7,Start8,Start9,Start10,Start11)values('210179-KIAN','Kim T. Andersen','Aalb. Bowl. Team',149,'Ulicenserede','','',,False,False,'',False,False,False,False,False,False,False,False,False,False,False)
ALLE checkbox felter var valgt.. så den må melde forkert værdi retur? De burde da være true ikke?
Jeps har jeg fundet ud af da jeg kunne indsætte efter at have indtastet noget i alle felter.
Er der ingen anden udvej end ændre felt fra tal til tekst i DB ?
Dog er der stadig det problem at den skal skriver falsk ved de felter som burde være sande. Så der bliver intet udfyldt i Ja/Nej felterne i DB selvom de er valgte i formular.
Jeg mener ikke, du behøver at ændre det i DB. Det er vist kun i ASP-koden, at du skal sætte ' omkring værdien. Så gør det nemlig ikke noget, hvis værdien er blank.
SÅ har jeg haft tid til at se på det igen og det er desværre ikke helt samarbejdsvilligt :-( Den sætter ikke felterne i databasen til Ja eller Nej selvom et felt er markeret til "JA" i formularen, men den tilføjer fint nok de øvrige data (tekst og tal felter)
Hvad pokker kan der være galt? Det begynder at presse lidt på.
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.