Din SQL-sætning virker kun hvis alle variabler indeholder noget. De må ikke være tomme. Hvis eksempelvis strpr er blank vil der komme en fejl hvis ikke linien laves således: strSQL = "Insert into spil (navn, preview, review, p-r, billede) values(strnavn,strtekst,strtekst,NULL,strbillede)" Conn.Execute(strSQL)
NULL anvendes til at blanke felter i update/insert sætninger.
Den kommer med følgende fejl: Fejltype: Microsoft OLE DB Provider for ODBC Drivers (0x80040E14) [Microsoft][ODBC Microsoft Access-driver] Der er en syntaksfejl i INSERT INTO-sætningen. /scripts/add.asp, line 13
<% if session("login") = "Tmpj" Then %> <form method="post" action="add.asp"> Navn på indlæg: <input name="navn"><br> <textarea rows="23" name="tekst" cols="69"></textarea><br> <input size="1" name="p-r"> hvis det er et preview så skriv p eller review skal du skrive r<br> Billed sti: <input name="billed"><br> <input type="submit" value="skriv"> </form> <% else response.redirect "admin.html" end if %>
Er det ikke fordi du i din strbillede = request.form("billed") kalde det "billed" og i din strSQL = "Insert into spil (navn, preview, review, p-r, billede) kalder det "billede"?
Det er ganske enkelt. Din SQL-sætning skal se således ud: strSQL = "Insert into spil (navn, preview, review, [p-r], billede) VALUES(strnavn,strtekst,strtekst2,strpr,strbillede)"
[] omkring feltnavnet p-r. Hvem kan også finde på at bruge underlige tegn i feltnavne. ? Det skulle ikke undre mig at Access er den eneste database der tillader det.
Ja det ser ud til det løste ET problem men nu melder den denne fejl:
Fejltype: Microsoft OLE DB Provider for ODBC Drivers (0x80040E10) [Microsoft][ODBC Microsoft Access-driver] Der er for få parametre. Der var ventet 5. /scripts/add.asp, line 15
fejlen: Der er for få parametre. Der var ventet 5.
Kan tyde på at et af felterne er blanke. Det kan godt ske at du udfylder alle felter i formen - men du kan ikke være sikker på at felterne i SQL-sætningen indeholder noget alligevel. (Pga. syntax-fejl mv.) Prøv at udskrive den - så får du svar: Response.Write(sqrSQL) Linien indsættes før Execute.
Du skriver selv: ( at hvis du udskriver SQL-sætningen på skærmen så viser den teksten fra koden altså: (strnavn,strpreview osv ...)
DET HÅBER JEG SANDELIG IKKE. Den skal skrive hele SQL-sætningen med indholdet at variablene:
Du kommer sku' ikke videre før du udskriver den og evt. viser den her: Jeg er sikker på at en eller flere af variablene (strnavn,strtekst,strtekst2,strpr,strbillede) er tomme. Det siger fejlmeddelelsen. !
Du skal heller ikke være sikker på at du kan indsætte nye poster i en SQL-sætning når du anvender typen: textarea. Hva' nu hvis bruger indtaster nogle af disse tegn. (' ") så dur SQL-sætningen ikke.
Synes godt om
Ny brugerNybegynder
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.