19. november 2000 - 15:44
Der er
30 kommentarer og 3 løsninger
Jeg har et problem med Insert Into
Den skriver der er en syntaksfejl i insert into sætningen. Jeg kan ikke finde fejlen! En kop kaffe til den der kan hjælpe! <% Option Explicit Response.Expires = 0 Dim objConn, objRS, strQ, strConn, objRecordset, strQuery set objRecordset = Server.CreateObject(\"ADODB.Recordset\") set objConn = Server.CreateObject(\"ADODB.Connection\") strConn = \"Data Source=Job;User ID=sa;Password=;\" objConn.Open strConn strQ = \"INSERT INTO TJob (Titel, Firmanavn, Adresse, By, Telefon, Start, Timetal, Alder, Løn, Beskrivelse) VALUES \" strQ = strQ & \"(\'%\" & strTitel & \"%\', \'%\" & strFirmanavn & \"%\', \'%\" & strAdresse & \"%\', \'%\" & strBy & \"%\', \'%\" & strTelefon & \"%\', \'%\" & strStart & \"%\', \'%\" & strTimetal & \"%\', \'%\" & strAlder & \"%\', \'%\" & strBetaling & \"%\', \'%\" & strBeskrivelse & \"%\')\" objConn.Execute strQ Dim strTitel, strFirmanavn, strAdresse, strBy, strTelefon, strStart, strTimetal, strAlder Dim strBetaling, strBeskrivelse strTitel = Request.QueryString(\"FTitel\") strFirmanavn = Request.QueryString(\"FFirmanavn\") strAdresse = Request.QueryString(\"FAdresse\") strBy = Request.QueryString(\"FBy\") strTelefon = Request.QueryString(\"FTelefon\") strStart = Request.QueryString(\"FStart\") strTimetal = Request.QueryString(\"FTimetal\") strAlder = Request.QueryString(\"FAlder\") strBetaling = Request.QueryString(\"FBetaling\") strBeskrivelse = Request.QueryString(\"FBeskrivelse\") %>
Annonceindlæg tema
Cloud & AI
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
19. november 2000 - 15:49
#1
skal dine sql-sætning ligger efter dine request sætninger?
19. november 2000 - 15:51
#2
Fjern alle % tegn. Dem er der ikke nogen grund til at have. /Jesper :-)
19. november 2000 - 15:52
#3
kan du ikke uddybe dit svar
19. november 2000 - 15:56
#4
du bruger by som er et reserveret ord i SQL! Brug \"city\" istedet for!
19. november 2000 - 15:57
#5
OK... Nu ser det sådan ud: <% Option Explicit Response.Expires = 0 Dim objConn, objRS, strQ, strConn, objRecordset, strQuery set objRecordset = Server.CreateObject(\"ADODB.Recordset\") set objConn = Server.CreateObject(\"ADODB.Connection\") strConn = \"Data Source=Job;User ID=sa;Password=;\" objConn.Open strConn Dim strTitel, strFirmanavn, strAdresse, strBy, strTelefon, strStart, strTimetal, strAlder Dim strBetaling, strBeskrivelse strTitel = Request.QueryString(\"FTitel\") strFirmanavn = Request.QueryString(\"FFirmanavn\") strAdresse = Request.QueryString(\"FAdresse\") strBy = Request.QueryString(\"FBy\") strTelefon = Request.QueryString(\"FTelefon\") strStart = Request.QueryString(\"FStart\") strTimetal = Request.QueryString(\"FTimetal\") strAlder = Request.QueryString(\"FAlder\") strBetaling = Request.QueryString(\"FBetaling\") strBeskrivelse = Request.QueryString(\"FBeskrivelse\") strQ = \"INSERT INTO TJob (Titel, Firmanavn, Adresse, By, Telefon, Start, Timetal, Alder, Løn, Beskrivelse) VALUES \" strQ = strQ & \"(\'\" & strTitel & \"\', \'\" & strFirmanavn & \"\', \'\" & strAdresse & \"\', \'\" & strBy & \"\', \'\" & strTelefon & \"\', \'\" & strStart & \"\', \'\" & strTimetal & \"\', \'\" & strAlder & \"\', \'\" & strBetaling & \"\', \'\" & strBeskrivelse & \"\')\" objConn.Execute strQ %> Men fejlen er den samme...
19. november 2000 - 15:57
#6
Prøv dette: <% Option Explicit Response.Expires = 0 Dim strTitel, strFirmanavn, strAdresse, strBy, strTelefon, strStart, strTimetal, strAlder Dim strBetaling, strBeskrivelse strTitel = Request.QueryString(\"FTitel\") strFirmanavn = Request.QueryString(\"FFirmanavn\") strAdresse = Request.QueryString(\"FAdresse\") strBy = Request.QueryString(\"FBy\") strTelefon = Request.QueryString(\"FTelefon\") strStart = Request.QueryString(\"FStart\") strTimetal = Request.QueryString(\"FTimetal\") strAlder = Request.QueryString(\"FAlder\") strBetaling = Request.QueryString(\"FBetaling\") strBeskrivelse = Request.QueryString(\"FBeskrivelse\") Dim objConn, objRS, strQ, strConn, objRecordset, strQuery set objRecordset = Server.CreateObject(\"ADODB.Recordset\") set objConn = Server.CreateObject(\"ADODB.Connection\") strConn = \"Data Source=Job;User ID=sa;Password=;\" objConn.Open strConn strQ = \"INSERT INTO TJob (Titel, Firmanavn, Adresse, By, Telefon, Start, Timetal, Alder, Løn, Beskrivelse) VALUES \" strQ = strQ & \"(\'\" & strTitel & \"\', \'\" & strFirmanavn & \"\', \'\" & strAdresse & \"\', \'\" & strBy & \"\', \'\" & strTelefon & \"\', \'\" & strStart & \"\', \'\" & strTimetal & \"\', \'\" & strAlder & \"\', \'\" & strBetaling & \"\', \'\" & strBeskrivelse & \"\')\" objConn.Execute strQ %> /Jesper
19. november 2000 - 15:58
#7
Too fast.. :-) Prøv at skrive Response.Write strQ lige før objconn.Execute og så post den streng her. Så er det lidt nemmere at se. /Jesper
19. november 2000 - 15:59
#8
Oh btw. Hvis Telefon er et nummerisk felt må der ikke være \' omkring værdien.
19. november 2000 - 16:00
#9
Der er \"by\" som du bruger! Det er et reserveret ord og det må ikke benyttes som navn!!!!!!!!!!!!!!! .--------------------------------------
sp
Nybegynder
19. november 2000 - 16:06
#10
En hjælp til at chekke om strengen er korrekt og indholdet af variablerne bliver overført som de skal, kan du slå Execute fra og udskrive strengen \'objConn.Execute strQ Response.write strQ
19. november 2000 - 16:09
#11
Der er ikke noget i vejen med din sql-sætning! Har du byttet om på dine request og sql? Har du udskiftet by med et andet navn, også i din database? Så skulle det virke!
19. november 2000 - 16:10
#12
Han kan da også bare bruge [by] så skulle det også virke :-) /Jesper
19. november 2000 - 16:11
#13
Ok.. jeg har ændret lidt i skidtet, så det ser sådan her ud: <% Option Explicit Response.Expires = 0 Dim strTitel, strFirmanavn, strAdresse, strCity, strTelefon, strStart, strTimetal, strAlder Dim strBetaling, strBeskrivelse strTitel = Request.QueryString(\"FTitel\") strFirmanavn = Request.QueryString(\"FFirmanavn\") strAdresse = Request.QueryString(\"FAdresse\") strCity = Request.QueryString(\"FCity\") strTelefon = Request.QueryString(\"FTelefon\") strStart = Request.QueryString(\"FStart\") strTimetal = Request.QueryString(\"FTimetal\") strAlder = Request.QueryString(\"FAlder\") strBetaling = Request.QueryString(\"FBetaling\") strBeskrivelse = Request.QueryString(\"FBeskrivelse\") Dim objConn, objRS, strQ, strConn, objRecordset, strQuery set objRecordset = Server.CreateObject(\"ADODB.Recordset\") set objConn = Server.CreateObject(\"ADODB.Connection\") strConn = \"Data Source=Job;User ID=sa;Password=;\" objConn.Open strConn strQ = \"INSERT INTO TJob (Titel, Firmanavn, Adresse, City, Telefon, Start, Timetal, Alder, Betaling, Beskrivelse) VALUES \" strQ = strQ & \"(\'\" & strTitel & \"\', \'\" & strFirmanavn & \"\', \'\" & strAdresse & \"\', \'\" & strCity & \"\', \'\" & strTelefon & \"\', \'\" & strStart & \"\', \'\" & strTimetal & \"\', \'\" & strAlder & \"\', \'\" & strBetaling & \"\', \'\" & strBeskrivelse & \"\')\" Response.Write strQ objConn.Execute strQ %> <HTML> <HEAD> <TITLE>2</TITLE> <META NAME=\"Generator\" CONTENT=\"Stone\'s WebWriter 3\"> </HEAD> <body> <FORM ACTION=\"default2.asp\" METHOD=\"get\"> <input type=\"text\" name=\"FTitel\" value=\"<%=strTitel%>\"> <input type=\"text\" name=\"FFirmanavn\" value=\"<%=strFirmanavn%>\"> <input type=\"text\" name=\"FAdresse\" value=\"<%=strAdresse%>\"> <input type=\"text\" name=\"FCity\" value=\"<%=strCity%>\"> <input type=\"text\" name=\"FTelefon\" value=\"<%=strTelefon%>\"> <input type=\"text\" name=\"FStart\" value=\"<%=strStart%>\"> <input type=\"text\" name=\"FTimetal\" value=\"<%=strTimetal%>\"> <input type=\"text\" name=\"FAlder\" value=\"<%=strAlder%>\"> <input type=\"text\" name=\"FBetaling\" value=\"<%=strBetaling%>\"> <input type=\"text\" name=\"FBeskrivelse\" value=\"<%=strBeskrivelse%>\"> <input type=\"submit\" name=\"Submit\" value=\"Send\"> </FORM> Og den brokker sig over: feltet \"TJob.Titel\" kan ikke have en streng af længden nul
19. november 2000 - 16:17
#14
Ja den har jho heller ikke noget at putte i! Lav din form på en anden side, som du submitter til denne her side! Start derefter med først at køre den nye side!
19. november 2000 - 16:32
#15
nu har jeg flyttet min form til en anden side, men Values er tom, når jeg har sendt...
19. november 2000 - 16:36
#16
hvad skriver den ud lige inden? Altså med \"Response.Write strQ\" ?
19. november 2000 - 16:39
#17
Den skriver: INSERT INTO TJob (Titel, Firmanavn, Adresse, City, Telefon, Start, Timetal, Alder, Betaling, Beskrivelse) VALUES (\'\', \'\', \'\', \'\', \'\', \'\', \'\', \'\', \'\', \'\')
sp
Nybegynder
19. november 2000 - 16:39
#18
Response.write strQ viser hvad strengen indeholder som er indhold overført fra variablerne.
19. november 2000 - 16:40
#19
det er jo ikke godt! Har du fyldt noget i formen på den første side? Der skal være et indhold!
sp
Nybegynder
19. november 2000 - 16:42
#20
Ja du skal sætte variablerne til noget bestemt. Det er jo indholdet du skal kunne se.
19. november 2000 - 16:43
#21
Jeg har tastet noget ind i formen... (bare sådan noget *krimskrams*) !
sp
Nybegynder
19. november 2000 - 16:43
#22
Udfylder du input boxene?
19. november 2000 - 16:44
#23
... altså textfelterne...?
sp
Nybegynder
19. november 2000 - 16:46
#24
Request.QueryString(\"FBeskrivelse\") Det hedder ikke QueryString når det er form. Men Request eller Request.form er nok. Det er nok derfor at variablerne ikke bliver overfør. QueryString bruges til at sende forespørgsler via URL\'s
sp
Nybegynder
19. november 2000 - 16:46
#25
Ja input text-felterne;-)
sp
Nybegynder
19. november 2000 - 16:47
#26
Altså en af de 2 kan du bruge: Request(\"FBeskrivelse\") Request.form(\"FBeskrivelse\")
sp
Nybegynder
19. november 2000 - 16:49
#27
Så ved at udskrive strQ, fandt du ud af at strengen faktisk ikke indeholdt noget. Og det var derfor at den brokkede sig over at streng ikke kunne være en Nul-streng... Logisk nok:)
sp
Nybegynder
19. november 2000 - 16:51
#28
Skal du f.eks. bruge Request.QueryString(\"FBeskrivelse\") Bliver det overført med URL\'s eks: default.asp?strBeskrivelse=blablabla
19. november 2000 - 16:51
#29
... Ok det lysner, men den siger: [Microsoft][ODBC Microsoft Access-driver] Et indeks eller en primær nøgle kan ikke indeholde en Null-værdi.
sp
Nybegynder
19. november 2000 - 16:56
#30
Hvad bruger du en primærnøgle til? Er den ikke på autonummerereing??? Det må være fordi du ikke indsætter noget som primærnøgle... Det ser det ikkke ud til, så den skal bare på auto!
19. november 2000 - 16:59
#31
duuh ... den glemte jeg sq i svinget...
19. november 2000 - 17:01
#32
O yeah!! Den virker...
sp
Nybegynder
19. november 2000 - 17:07
#33
Jeg bruger tit Response.write til at finde fejl med. Man kan også finde indholdet i variabler og se om det er korrekt. m.v. Så man faktisk kan se hele vejen igennem scriptet at det hele går som det skal...
Kurser inden for grundlæggende programmering