Avatar billede firehat Nybegynder
18. marts 2002 - 17:31 Der er 13 kommentarer og
2 løsninger

ASP sql til database virker ikke... Hvorfor??

Hej...

Jeg har 2 forsælige steder hvor jag skal have tilføjet noget til 2 forskælige access databaser men jeg kan simpel hen ikke få den til det.

Her er lidt script... Håber at der er nogen der kan hjælpe...

Script 1:
<%

Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("search.mdb")
Conn.Open DSN

strSQL = "Insert into flash (Navn, Adresse, Beskrivelse, Hits, Hvis) values('" & Request.Form("Navn") & "','" & Request.Form("adresse") & "','" & Request.Form("vits") & "','" & Request.Form("hits") & "','" & Request.Form("hvis") & "')"

'strSQL = "Insert into flash ("

'strSQL = strSQL & "Navn, "
'strSQL = strSQL & "Adresse, "
'strSQL = strSQL & "Beskrivelse, "
'strSQL = strSQL & "Hits, "
'strSQL = strSQL & "Hvis) "

'strSQL = strSQL & "values( "

'strSQL = strSQL & "'" & Request.Form("Navn") & "', "
'strSQL = strSQL & "'" & Request.Form("adresse") & "', "
'strSQL = strSQL & "'" & Request.Form("vits") & "', "
'strSQL = strSQL & "'" & Request.Form("hits") & "')"
'strSQL = strSQL & "'" & Request.Form("hvis") & "')"


Conn.Execute(strSQL)
   
Conn.Close
Set Conn = Nothing

Response.Write "Er nu tilføjet til databasen og venter på godkendelse !"
%>

Fejmedelsen er:

Microsoft OLE DB Provider for ODBC Drivers fejl '80040e07'

[Microsoft][ODBC Microsoft Access-driver] Datatyperne stemmer ikke overens i kriterieudtrykket.

/mikkel/firehat tk ny sjov side/ligsom_linker/search/add.asp, linje 36

Linie 36 er:
Conn.Execute(strSQL)

Min anden fil (Script 2):

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("bandb.mdb")
Conn.Open DSN

strSQL = "Insert into banner ("

strSQL = strSQL & "adresse, "
strSQL = strSQL & "navn, "

strSQL = strSQL & "values( "

strSQL = strSQL & "'" & Request.Form("url") & "', "
strSQL = strSQL & "'" & Request.Form("navn") & "', "

Conn.Execute(strSQL)
Conn.Close
Set Conn = Nothing
%>

Fejlmedelsen er:

Microsoft OLE DB Provider for ODBC Drivers fejl '80040e14'

[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i INSERT INTO-sætningen.

/mikkel/faa_flere_besoende/ok.asp, linje 17

Linie 17 er:
Conn.Execute(strSQL)

Det er 2 forskælige filer i hver sin mappe.

Håber at der er en der kan hjælpe...
Sætter gerne point'ne op!

/Firehat
Avatar billede fet321 Nybegynder
18. marts 2002 - 20:10 #1
I den første er Hits feltet da et tekstfelt?


I den sidste har du et komma for meget og du mangler en )

Request.Form("navn") & "', "

skal være

Request.Form("navn") & "');"
Avatar billede coltau Juniormester
18. marts 2002 - 20:19 #2
Jeg mener at disse linier skal rettes.

strSQL = "Insert into banner ("
strSQL = strSQL & "adresse, "
strSQL = strSQL & "navn) " ' RETTET
strSQL = strSQL & "values ( "
strSQL = strSQL & "'" & Request.Form("url") & "', "
strSQL = strSQL & "'" & Request.Form("navn") & "') " ' RETTET

Conn.Execute(strSQL)
Avatar billede firehat Nybegynder
18. marts 2002 - 21:10 #3
fet321 --> nej, men det er også tal der skrives...

Tak, for hjælpen til jer begge, prøver lige lidt imorgen og ser om det virker... Og så skal i nok få jerres point...

/Firehat
Avatar billede fet321 Nybegynder
18. marts 2002 - 21:49 #4
Firehat >> så skal der ikke være enkelt gnyffer  rundt om.
Det skal se sådan ud:

strSQL = "Insert into flash (Navn, Adresse, Beskrivelse, Hits, Hvis) values('" & Request.Form("Navn") & "','" & Request.Form("adresse") & "','" & Request.Form("vits") & "'," & Request.Form("hits") & ",'" & Request.Form("hvis") & "')"

Enkelt gnyffer ( ' ) skal kun bruges ved tekstfelter.
Avatar billede firehat Nybegynder
19. marts 2002 - 13:55 #5
Hmm... Ingen af dem virker indu... Hvad kan der være galt?

Script 2 (banner) givernu denne medelse:
Microsoft OLE DB Provider for ODBC Drivers fejl '80004005'

[Microsoft][ODBC Microsoft Access-driver] Feltet "banner.navn" kan ikke indeholde en streng af længden nul.

/mikkel/faa_flere_besoende/ok.asp, linje 14
Avatar billede firehat Nybegynder
19. marts 2002 - 13:56 #6
2'ern medlélse er:
Microsoft OLE DB Provider for ODBC Drivers fejl '80040e14'

[Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i INSERT INTO-sætningen.

/mikkel/firehat tk ny sjov side/ligsom_linker/search/add.asp, linje 36
Avatar billede firehat Nybegynder
19. marts 2002 - 13:57 #7
Ups det lige før hvad script 1!

/Firehat
Avatar billede firehat Nybegynder
19. marts 2002 - 14:25 #8
Har lige fundet ud af script 1!
Avatar billede coltau Juniormester
19. marts 2002 - 14:59 #9
Hvis der er flere problemer så list lige koden igen.
Avatar billede firehat Nybegynder
19. marts 2002 - 15:04 #10
Script nummer 2 virker stedig ikke...
Avatar billede fet321 Nybegynder
19. marts 2002 - 15:06 #11
Post lige koden og fejlmeddelelsen
Avatar billede firehat Nybegynder
19. marts 2002 - 15:09 #12
OK,

Fejlen:

Microsoft OLE DB Provider for ODBC Drivers fejl '80004005'

[Microsoft][ODBC Microsoft Access-driver] Feltet "banner.navn" kan ikke indeholde en streng af længden nul.

/mikkel/faa_flere_besoende/ok.asp, linje 14

Scriptet:

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("bandb.mdb")
Conn.Open DSN

strSQL = "Insert into banner ("
strSQL = strSQL & "adresse, "
strSQL = strSQL & "navn) " ' RETTET
strSQL = strSQL & "values ( "
strSQL = strSQL & "'" & Request.Form("url") & "', "
strSQL = strSQL & "'" & Request.Form("navn") & "');"  ' RETTET

Conn.Execute(strSQL)
Conn.Close
Set Conn = Nothing
%>


/Firehat
Avatar billede fet321 Nybegynder
19. marts 2002 - 15:12 #13
Det er fordi der intet indhold er i Request.Form("navn") og du har indstillet feltet navn i databasen til ikke at kunne være tom.
Avatar billede coltau Juniormester
19. marts 2002 - 16:08 #14
Kan gøres sådan:

if Request.QueryString("url") <> "" then
  strUrl = "'" & Request.QueryString("url") & "'"
else
  strUrl = "NULL"
end if
if Request.QueryString("Navn") <> "" then
  strNavn = "'" & Request.QueryString("Navn") & "'"
else
  strNavn = "NULL"
end if

strSQL = "Insert into banner ("
strSQL = strSQL & "adresse, "
strSQL = strSQL & "navn) "
strSQL = strSQL & "values ( "
strSQL = strSQL & strUrl & ", "
strSQL = strSQL & strNavn & ");"
Avatar billede firehat Nybegynder
19. marts 2002 - 16:18 #15
Tak skal i have...

/Firehat
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