Avatar billede plato Juniormester
29. november 2005 - 23:14 Der er 7 kommentarer og
1 løsning

ASP, SQL Insert problem

Hejsa NG.

Nogen der kan fortælle mig hvorfor jeg ikke kan benytte 2 SQL insert sætninger.

Den kommer med denne fejl:

Microsoft JET Database Engine error '80040e14'

Number of query values and destination fields are not the same.

Hvilket er denne linie: objConn.Execute(strSQL)

Her kommer koden:

strSQL = "Insert into anmeld (forfatter, star, titel, pic,premiere, instruk, spilletid, genre, boksen, teaser, omtale, anmeld) values('"& Request.Form("forfatterb") & indhold & "')"

strSQL = "Insert into forum (navn, indhold, dato, emne) values('"& Request.Form("navnforum") & "', '" & Request.Form("datoforum") & "', '" & Request.Form("titel") & indholdb & "')"

objConn.Execute(strSQL)

Det skal lige siges at begge koder virker fint hvor for sig.
Avatar billede softspot Forsker
29. november 2005 - 23:19 #1
Du har færre værdier (i VALUES) end du har felter du lover at udfylde. Hvis der er felter som du ikke har værdier til skal disse dels undlades i SQL-sætningen, dels tillade NULL-værdier (eller have defineret default-værdier) i databasen.
Avatar billede softspot Forsker
29. november 2005 - 23:21 #2
Altså i denne sætning:

strSQL = "Insert into anmeld (forfatter, star, titel, pic,premiere, instruk, spilletid, genre, boksen, teaser, omtale, anmeld) values('"& Request.Form("forfatterb") & indhold & "')"

lover du at oplyse værdier for flg. felter:

forfatter, star, titel, pic,premiere, instruk, spilletid, genre, boksen, teaser, omtale, anmeld

men du oplyser kun en værdi for det første. Det samme mønster gør sig gældende i den anden SQL-sætning.
Avatar billede plato Juniormester
29. november 2005 - 23:32 #3
Åhh, det var bare fordi jeg kortede ned for koden, så glemte jeg de andre felter.

Her er den helt rigtige kode:

strSQL = "Insert into anmeld (forfatter, star, titel, pic,premiere, instruk, spilletid, genre, boksen, teaser, omtale, anmeld) values('"& Request.Form("forfatterb") & "', '" & Request.Form("starb") & "', '" & Request.Form("titelb") & "', '" & Request.Form("picb") & "', '" & Request.Form("premiereb") & "', '" & Request.Form("instrukb") & "', '" & Request.Form("spilletidb") & "', '" & Request.Form("genreb") & "', '" & indholda & "', '" & indholdb & "', '" & indholdc & "', '" & indhold & "')"

strSQL = "Insert into forum (navn, indhold, dato, emne) values('"& Request.Form("navnforum") & "', '" & Request.Form("datoforum") & "', '" & Request.Form("titel") & indholdb & "')"


objConn.Execute(strSQL)
Avatar billede plato Juniormester
29. november 2005 - 23:33 #4
& indhold b & osv

Er med lige før strSQL-sætningen:
    indhold = fncTextChange(request.form("anmeldb"))
    indholda = fncTextChange(request.form("boksenb"))
    indholdb = fncTextChange(request.form("teaserb"))
    indholdc = fncTextChange(request.form("omtaleb"))
Avatar billede softspot Forsker
29. november 2005 - 23:41 #5
Denne her sætning har samme problem som før:

strSQL = "Insert into forum (navn, indhold, dato, emne) values('"& Request.Form("navnforum") & "', '" & Request.Form("datoforum") & "', '" & Request.Form("titel") & indholdb & "')"

mon du mangler noget adskiller-koden imellem titel og indholdb i VALUES?

Hvad angår den lange, så kan du evt. starte med at ændre feltnavnet pic til [pic] og hvis det ikke løser problemet, så checke om felttyperne i tabellen alle er tekster.
Avatar billede plato Juniormester
13. januar 2006 - 17:14 #6
Softspot smider du lige et svar?
Avatar billede softspot Forsker
14. januar 2006 - 12:56 #7
Det kan du tro :)
Avatar billede softspot Forsker
15. januar 2006 - 12:48 #8
Tak for point :)
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