|
| Fejl i koden, men hvor? Fra : Morten |
Dato : 14-10-02 22:54 |
|
Jeg har følgende modtag.asp-kode, hvor jeg får fejlen:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver] Operation must use an
updateable query.
/chatklub/modtag.asp, line 31
Hvad er fejlen? Please hjælp...
------------
<body bgcolor="black" text="gray">
<font size="2" face="tahoma">
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
Server.MapPath("optagelse.mdb")
Conn.Open DSN
strSQL = "Insert into optagelse ("
strSQL = strSQL & "mail, "
strSQL = strSQL & "nick, "
strSQL = strSQL & "city, "
strSQL = strSQL & "navn, "
strSQL = strSQL & "besk) "
strSQL = strSQL & "values( "
strSQL = strSQL & "'"&Request.Form("mail")&"',"
strSQL = strSQL & "'"&Request.Form("nick")& "',"
strSQL = strSQL & "'"&Request.Form("city")& "',"
strSQL = strSQL & "'"&Request.Form("navn")& "',"
strSQL = strSQL & "'"&Request.Form("beskrivelse")&"')"
Conn.Execute(strSQL)
Response.write "<p>Følgende er registreret:<br><b>Din email:</b>
" & Request.Form("mail") & " <br><b>Dit nick:</b> " &
Request.Form("nick") & " <br><b>Hvor du er fra:</b> " &
Request.Form("by") & " <br><b>Dit fulde navn:</b> " &
Request.Form("navn") & "<br><b>Beskrivelsen af dig selv:</b> " &
Request.Form("beskrivelse") & " <p> Du vil blive emailet om
optalgese eller ej af en administrator snarest."
%>
<%
'Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
<p>
</body>
</html>
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Kasper Katzmann (14-10-2002)
| Kommentar Fra : Kasper Katzmann |
Dato : 14-10-02 23:07 |
|
Prøv at kigge i det tidligere spørgsmål i gruppen der har følgende tekst som
emne:
>Fejl ved instættelse af data i tabel!<
Fra d. 14-10-2002 kl. 08.07
--
Mvh
Kasper K
Fjern det der skal FJERNES hvis du sender en mail til mig
"Morten" <ChilliBoy@chilliboy.dk> wrote in message
news:aofee6$3hi$1@sunsite.dk...
> Jeg har følgende modtag.asp-kode, hvor jeg får fejlen:
>
> Microsoft OLE DB Provider for ODBC Drivers error '80004005'
>
> [Microsoft][ODBC Microsoft Access Driver] Operation must use an
> updateable query.
>
> /chatklub/modtag.asp, line 31
>
> Hvad er fejlen? Please hjælp...
> ------------
> <body bgcolor="black" text="gray">
> <font size="2" face="tahoma">
> <%
> Set Conn = Server.CreateObject("ADODB.Connection")
> DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
> Server.MapPath("optagelse.mdb")
> Conn.Open DSN
>
> strSQL = "Insert into optagelse ("
> strSQL = strSQL & "mail, "
> strSQL = strSQL & "nick, "
> strSQL = strSQL & "city, "
> strSQL = strSQL & "navn, "
> strSQL = strSQL & "besk) "
>
> strSQL = strSQL & "values( "
> strSQL = strSQL & "'"&Request.Form("mail")&"',"
> strSQL = strSQL & "'"&Request.Form("nick")& "',"
> strSQL = strSQL & "'"&Request.Form("city")& "',"
> strSQL = strSQL & "'"&Request.Form("navn")& "',"
> strSQL = strSQL & "'"&Request.Form("beskrivelse")&"')"
>
> Conn.Execute(strSQL)
> Response.write "<p>Følgende er registreret:<br><b>Din email:</b>
> " & Request.Form("mail") & " <br><b>Dit nick:</b> " &
> Request.Form("nick") & " <br><b>Hvor du er fra:</b> " &
> Request.Form("by") & " <br><b>Dit fulde navn:</b> " &
> Request.Form("navn") & "<br><b>Beskrivelsen af dig selv:</b> " &
> Request.Form("beskrivelse") & " <p> Du vil blive emailet om
> optalgese eller ej af en administrator snarest."
> %>
> <%
> 'Luk databaseforbindelse
> Conn.Close
> Set Conn = Nothing
> %>
> <p>
> </body>
> </html>
>
> --
> Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
> - Pædagogiske tutorials på dansk
> - Kom godt i gang med koderne
> KLIK HER! => http://www.html.dk/tutorials
| |
Jørn Andersen (15-10-2002)
| Kommentar Fra : Jørn Andersen |
Dato : 15-10-02 03:01 |
|
On Tue, 15 Oct 2002 00:06:42 +0200, "Kasper Katzmann"
<kasper@FJERNESkatzmann.dk> wrote:
>Fjern det der skal FJERNES hvis du sender en mail til mig
Please, også fjerne det der skal fjernes, når du svarer i gruppen
Hint: Du sendte 72 linier for et 5 liniers svar.
PS: Gider du tage et kig på:
<URL: http://www.usenet.dk/netikette/citatteknik.html>
--
Jørn Andersen,
Brønshøj
| |
Kasper Katzmann (15-10-2002)
| Kommentar Fra : Kasper Katzmann |
Dato : 15-10-02 06:12 |
|
> Please, også fjerne det der skal fjernes, når du svarer i gruppen
> Hint: Du sendte 72 linier for et 5 liniers svar.
Ja og du sendte en besked der ikke havde noget med spørgsmålet at gøre.
Og sådan kan vi blive ved med at have travlt med hvad andre laver, istedet
for at holde os til det der er relevant.
> PS: Gider du tage et kig på:
> <URL: http://www.usenet.dk/netikette/citatteknik.html>
Nej, behøves ikke da jeg udemærket kender VEJLEDNINGEN og normalt også
følger den. Men det kan jo smutte for selv den bedste.
--
Mvh
Kasper K
Fjern det der skal FJERNES hvis du sender en mail til mig
| |
Jesper Stocholm (15-10-2002)
| Kommentar Fra : Jesper Stocholm |
Dato : 15-10-02 09:51 |
|
Kasper Katzmann wrote :
>> Please, også fjerne det der skal fjernes, når du svarer i gruppen
>> Hint: Du sendte 72 linier for et 5 liniers svar.
>
> Ja og du sendte en besked der ikke havde noget med spørgsmålet at
> gøre. Og sådan kan vi blive ved med at have travlt med hvad andre
> laver, istedet for at holde os til det der er relevant.
>
>> PS: Gider du tage et kig på:
>> <URL: http://www.usenet.dk/netikette/citatteknik.html>
>
> Nej, behøves ikke da jeg udemærket kender VEJLEDNINGEN og normalt også
> følger den. Men det kan jo smutte for selv den bedste.
så kan det vel ikke være et problem for dig ? Prøv lige at få lidt
perspektiv ind i det, Kasper. Jørn bad dig meget venligt om at klippe
lidt i det du skriver - det behøver du ikke at tage så nært.
--
Jesper Stocholm
http://stocholm.dk
Overvejer du at købe bøger ved saxo.dk ? Kig først på
http://www.firmcheck.dk/Info.asp?website=www.saxo.dk
| |
Peter Lykkegaard (15-10-2002)
| Kommentar Fra : Peter Lykkegaard |
Dato : 15-10-02 11:26 |
|
Som svar på skriblerier nedfældet af Jesper Stocholm :
> så kan det vel ikke være et problem for dig ? Prøv lige at få lidt
> perspektiv ind i det, Kasper. Jørn bad dig meget venligt om at klippe
> lidt i det du skriver - det behøver du ikke at tage så nært.
>
Problemet er nok mere at der kører lange flamewars i andre dele af
dk-hierarkiet pga "forkerte" henstillinger
Det gør at folk tænder hurtigere af når de møder selv en venlig henstilling
Det breder sig desværre som ringe i vandet
Jeg har lavet XFUT til dk.admin.netikette
Ikke specielt for at sparke diskussionen ud af gruppen
mvh/Peter Lykkegaard
| |
Jens Gyldenkærne Cla~ (15-10-2002)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 15-10-02 09:55 |
|
Kasper Katzmann skrev i dk.edb.internet.webdesign.serverside.asp:
>> Please, også fjerne det der skal fjernes, når du svarer i
>> gruppen Hint: Du sendte 72 linier for et 5 liniers svar.
>
> Ja og du sendte en besked der ikke havde noget med spørgsmålet
> at gøre. Og sådan kan vi blive ved med at have travlt med hvad
> andre laver, istedet for at holde os til det der er relevant.
Så det er ikke relevant at følge netiketten?
>> PS: Gider du tage et kig på:
>> <URL: http://www.usenet.dk/netikette/citatteknik.html>
>
> Nej, behøves ikke da jeg udemærket kender VEJLEDNINGEN og
> normalt også følger den. Men det kan jo smutte for selv den
> bedste.
Selvfølgelig kan det smutte hvis man har lidt for travlt. Og hvis
du havde svaret "Sorry, det var en fejl. Jeg kender godt
vejledningen og følger den også normalt" - eller noget lignende, så
var der ikke en kat der havde gøet. I stedet vælger du at optræde
forurettet over en helt sober vejledning.
XFUT: dk.admin.netikette (dette indlæg er krydspostet til
netikettegruppen, svar på indlæg kan kun læses der).
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Jens Gyldenkærne Cla~ (15-10-2002)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 15-10-02 10:07 |
|
Jens Gyldenkærne Clausen skrev:
> XFUT: dk.admin.netikette (dette indlæg er krydspostet til
> netikettegruppen, svar på indlæg kan kun læses der).
Argh... det var det med at skrive indlæg lidt for hurtigt.
Beklager, men jeg glemte at sætte FUT. Jeg vil anbefale at
kommentarer til mit foregående indlæg futtes til netiketten.
FUT: dk.admin.netikette (svar på dette indlæg sendes til nævnte
gruppe og kan ikke ses her ...og denne gang er den god nok ;).
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Martin_P (15-10-2002)
| Kommentar Fra : Martin_P |
Dato : 15-10-02 11:40 |
|
>
>Hvad er fejlen? Please hjælp...
JEg vil dagerne prøve..
>strSQL = "Insert into optagelse ("
>strSQL = strSQL & "mail, "
>strSQL = strSQL & "nick, "
>strSQL = strSQL & "city, "
>strSQL = strSQL & "navn, "
>strSQL = strSQL & "besk) "
Prøv at sætte [] omkring navnene - mener at ordet city er et
reserveret ord i SQL, og derfor skal den omkranses af [] - hvis du
sætter det om dem alle, så er du ihverfald sikker...
Martin_P
| |
Torben Brandt (15-10-2002)
| Kommentar Fra : Torben Brandt |
Dato : 15-10-02 12:25 |
|
Martin_P wrote in dk.edb.internet.webdesign.serverside.asp:
> >
>
> >strSQL = "Insert into optagelse ("
> >strSQL = strSQL & "mail, "
> >strSQL = strSQL & "nick, "
> >strSQL = strSQL & "city, "
> >strSQL = strSQL & "navn, "
> >strSQL = strSQL & "besk) "
> Prøv at sætte [] omkring navnene - mener at ordet city er et
> reserveret ord i SQL, og derfor skal den omkranses af [] - hvis du
> sætter det om dem alle, så er du ihverfald sikker...
>
Nej, city er ikke et reserveret ord i Access. Se fx.
<URL: http://support.microsoft.com/default.aspx?scid=kb;EN-US;q209187>
Prøv at læse dette indlæg af Jørn Andersen:
<URL: http://groups.google.com/groups?hl=da&lr=&ie=UTF-8&oe=UTF-8&selm
=8lqiqu4qc697p54q7vq03fpj79vs0v9spm%404ax.com>
... og evt resten af tråden.
mvh Torben
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Jens Gyldenkærne Cla~ (15-10-2002)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 15-10-02 12:48 |
|
Morten skrev:
> Hvad er fejlen? Please hjælp...
Udskriv din strSQL efter den er opbygget, men før du kører den
(Response.write strSQL).
Det er langt lettere at finde fejl når sql-sætningen kan ses i sin
helhed.
Det gælder i øvrigt _hver_ gang der er problemer med et
databasekald.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Morten (15-10-2002)
| Kommentar Fra : Morten |
Dato : 15-10-02 14:37 |
|
Jens GyldenkærneClausen wrote i
> Udskriv din strSQL efter den er opbygget, men før du kører den
> (Response.write strSQL).
> Det er langt lettere at finde fejl når sql-sætningen kan ses i sin
> helhed.
>
> Det gælder i øvrigt _hver_ gang der er problemer med et
> databasekald.
Jeg har nu prøvet både skriverettigheder til filen, mappen og diverse
[], men får fortsat samme fejl. Har endvidere læst tråden i det link,
jeg fik, uden resultat.
Flere forslag?
- Morten.
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Jens Gyldenkærne Cla~ (15-10-2002)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 15-10-02 14:52 |
|
Morten skrev:
>> Udskriv din strSQL efter den er opbygget, men før du kører
>> den (Response.write strSQL).
>> Det er langt lettere at finde fejl når sql-sætningen kan ses
>> i sin helhed.
> Jeg har nu prøvet både skriverettigheder til filen, mappen og
> diverse [], men får fortsat samme fejl. Har endvidere læst
> tråden i det link, jeg fik, uden resultat.
> Flere forslag?
Forslag: Læs hvad jeg skrev i det indlæg du citerede. Det var i al
ubeskedenhed et godt råd. Jeg har ladet teksten stå, så du kan også
bare kigge øverst i dette indlæg.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Morten (15-10-2002)
| Kommentar Fra : Morten |
Dato : 15-10-02 15:25 |
|
Jens GyldenkærneClausen wrote
> Forslag: Læs hvad jeg skrev i det indlæg du citerede. Det var i al
> ubeskedenhed et godt råd. Jeg har ladet teksten stå, så du kan også
> bare kigge øverst i dette indlæg.
Sorry, jeg forstår bare ikke hvad du mener i dit andet indlæg, that's
all :)
- Morten.
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Jens Gyldenkærne Cla~ (15-10-2002)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 15-10-02 15:38 |
|
Morten skrev:
> Sorry, jeg forstår bare ikke hvad du mener i dit andet indlæg,
> that's all :)
Fair nok - så fortæl det, så skal jeg prøve at forklare.
Du skriver:
| strSQL = "Insert into optagelse ("
| strSQL = strSQL & "mail, "
....etc.
Det er en lang række strengsammensætninger. Når du er færdig med
dem ligger hele din sqlstreng i variablen strSQL. I stedet for blot
at køre den med følgende linje:
| Conn.Execute(strSQL)
kan du tilføje linjen:
Response.write strSQL
lige oven over (*før* Conn.execute).
Så vil din browser vise sql-sætningen i sin helhed - noget i
retning af:
INSERT INTO optagelse (mail, nick, city .....
Når hele linjen er samlet kan man langt lettere finde en fejl hvor
der fx mangler et anførselstegn eller er et komma i overskud.
Du kan også - hvis du har adgang til databasen på din lokale
maskine - prøve at sætte SQL-teksten ind her (lav en ny
forespørgsel, undlad at vælge tabeller og gå til sql-visning). Så
kan Access hjælpe med afprøvningen.
Jeg håber at det var til at forstå.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Morten (15-10-2002)
| Kommentar Fra : Morten |
Dato : 15-10-02 20:06 |
|
Jens GyldenkærneClausen wrote
> Det er en lang række strengsammensætninger. Når du er færdig med
> dem ligger hele din sqlstreng i variablen strSQL. I stedet for blot
> at køre den med følgende linje:
>
> Conn.Execute(strSQL)
>
> kan du tilføje linjen:
>
> Response.write strSQL
>
> lige oven over (*før* Conn.execute).
>
> Så vil din browser vise sql-sætningen i sin helhed - noget i
> retning af:
>
> INSERT INTO optagelse (mail, nick, city .....
>
> Når hele linjen er samlet kan man langt lettere finde en fejl hvor
> der fx mangler et anførselstegn eller er et komma i overskud.
>
> Du kan også - hvis du har adgang til databasen på din lokale
> maskine - prøve at sætte SQL-teksten ind her (lav en ny
> forespørgsel, undlad at vælge tabeller og gå til sql-visning). Så
> kan Access hjælpe med afprøvningen.
>
> Jeg håber at det var til at forstå.
Fint nok, det forstod jeg det meste af, selvom jeg er newbie i
databaser ;) Jeg får dog stadig en fejl "expected end of
statement"...sidder bare og undrer hvilket statement det er, jeg skal
afslutt...? Den giver fejlmeddelelsen på Response.Write-linjen.
Her er slutningen af koden:
strSQL = strSQL & "'"&Request.Form("fandtos")&"')"
Response.write strSQL
Conn.Execute(strSQL)
Response.write "<p>Følgende er registreret:<br><b>Dit brugernavn:</b>
" & Request.Form("brugernavn") & " <br><b>Dit password:</b> " &
Request.Form("password") & " <br><b>Din email:</b> " &
Request.Form("email") & " <br><b>Din alder:</b> " &
Request.Form("alder") & "<br><b>Hvor du bor:</b> " &
Request.Form("by") & " <br><b>Hvordan du fandt os::</b> " &
Request.Form("fandtos") & "<p> Du kan nu logge ind på medlemssiden ved
at klikke <a href="login.asp">her</a>"
%>
<%
'Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Jørn Andersen (15-10-2002)
| Kommentar Fra : Jørn Andersen |
Dato : 15-10-02 21:13 |
|
On Tue, 15 Oct 2002 19:05:47 +0000 (UTC), Morten
<ChilliBoy@chilliboy.dk> wrote:
>Fint nok, det forstod jeg det meste af, selvom jeg er newbie i
>databaser ;) Jeg får dog stadig en fejl "expected end of
>statement"...sidder bare og undrer hvilket statement det er, jeg skal
>afslutt...? Den giver fejlmeddelelsen på Response.Write-linjen.
>Her er slutningen af koden:
>strSQL = strSQL & "'"&Request.Form("fandtos")&"')"
' Det er normalt en god idé at have mellemrum omkrign &-tegn:
strSQL = strSQL & "'" & Request.Form("fandtos") & "')"
' (Ikke sikkert det har nogen betydning i dit tilfælde.)
>Response.write strSQL
' Du skal lige indsætte en linie her:
Response.End
' Den stopper eksekveringen, så du ikke behøver bekymre dig om fejl i
den efterfølgende kode.
<snip resten>
Good luck!
--
Jørn Andersen,
Brønshøj
| |
Morten (16-10-2002)
| Kommentar Fra : Morten |
Dato : 16-10-02 14:08 |
|
Tak for al hjælp indtil videre ... den brokker sig dog stadig...
Nu kan den ikke lide følgende: (Jeg ved godt at det her er database, men
nu har jeg ligesom startet tråden ... )
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver] The field 'bruger.nickname'
cannot contain a Null value because the Required property for this field
is set to True. Enter a value in this field. (og der ER indtastet noget i
feltet!)
:(
Det er virkelig utrolig at uanset hvad jeg gør, kommer den med fejl,
koden ser nu ud som følger:
----
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
Server.MapPath("database.mdb")
Conn.Open DSN
strSQL = "Insert into bruger ("
strSQL = strSQL & "brugernavn, "
strSQL = strSQL & "password, "
strSQL = strSQL & "email, "
strSQL = strSQL & "alder, "
strSQL = strSQL & "city) "
strSQL = strSQL & "values( "
strSQL = strSQL & "'"&Request.Form("brugernavn")&"',"
strSQL = strSQL & "'"&Request.Form("password")& "',"
strSQL = strSQL & "'"&Request.Form("email")& "',"
strSQL = strSQL & "'"&Request.Form("alder")& "',"
strSQL = strSQL & "'"&Request.Form("city")&"')"
Response.write strSQL
Conn.Execute(strSQL)
Response.End
%>
Response.write "<p>Følgende er registreret:<br><b>Dit brugernavn:</b> " &
Request.Form("brugernavn") & " <br><b>Dit password:</b> " &
Request.Form("password") & " <br><b>Din email:</b> " &
Request.Form("email") & " <br><b>Din alder:</b> " & Request.Form("alder")
& "<br><b>Hvor du bor:</b> " & Request.Form("by") & " <br><b>Hvordan du
fandt os::</b> " & Request.Form("fandtos") & "<p> Du kan nu logge ind på
medlemssiden ved at klikke <a href="login.asp">her</a>"
<%
'Luk databaseforbindelse
Conn.Close
Set Conn = Nothing
%>
--
På forhånd tak.
- Morten.
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Chrisser (16-10-2002)
| Kommentar Fra : Chrisser |
Dato : 16-10-02 14:22 |
|
"Morten" <ChilliBoy@chilliboy.dk> skrev i en meddelelse
news:aojoca$855$1@sunsite.dk...
> Tak for al hjælp indtil videre ... den brokker sig dog stadig...
> Nu kan den ikke lide følgende: (Jeg ved godt at det her er database, men
> nu har jeg ligesom startet tråden ... )
> Microsoft OLE DB Provider for ODBC Drivers error '80004005'
> [Microsoft][ODBC Microsoft Access Driver] The field 'bruger.nickname'
> cannot contain a Null value because the Required property for this field
> is set to True. Enter a value in this field. (og der ER indtastet noget i
> feltet!)
> :(
> Det er virkelig utrolig at uanset hvad jeg gør, kommer den med fejl,
> koden ser nu ud som følger:
Jo, men får du det nu også med over ud udtrukket/indsat rigtigt.
Hvad står der i din Response.write strSQL ?
MVH
Chrisser
| |
Jens Gyldenkærne Cla~ (16-10-2002)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 16-10-02 14:22 |
|
Morten skrev:
> Microsoft OLE DB Provider for ODBC Drivers error '80004005'
> [Microsoft][ODBC Microsoft Access Driver] The field
> 'bruger.nickname' cannot contain a Null value because the
> Required property for this field is set to True. Enter a value
> in this field. (og der ER indtastet noget i feltet!)
Får du ikke skrevet din strSQL ud nu? I så fald vil vi meget gerne
se den her.
Altså - kør siden og send output fra Response.write strSQL her.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
///JJ (16-10-2002)
| Kommentar Fra : ///JJ |
Dato : 16-10-02 15:47 |
|
<"Jens Gyldenkærne Clausen" <jens@gyros.invalid> wrote in message
news:Xns92A99C63F64B4jcdmfdk@gyrosmod.dtext.news.tele.dk...
<Får du ikke skrevet din strSQL ud nu? I så fald vil vi meget gerne
<se den her.
Nej, det gør han ikke nødvendigvis da han excute'r før han response.end'er.
Gør følgende:
Response.write strSQL
' Conn.Execute(strSQL)
Response.End
Eller sæt Conn.Execute under response.end
Derefter vil jeg også meget gerne se din strSQL :)
///JJ
| |
Morten (16-10-2002)
| Kommentar Fra : Morten |
Dato : 16-10-02 16:16 |
|
///JJ wrote in dk.edb.internet.webdesign.serverside.asp:
> Gør følgende:
>
> Response.write strSQL
> ' Conn.Execute(strSQL)
>
> Response.End
>
> Eller sæt Conn.Execute under response.end
> Derefter vil jeg også meget gerne se din strSQL :)
>
> ///JJ
>
>
Så er det gjort...og...hehe...nu siger den sq bare:
Insert into bruger (brugernavn, password, email, alder, city) values(
'bil','111111','ChilliBoy@chilliboy.dk','19','København')
når jeg indtaster og videresender til modtag.asp-filen ... hva' gør jeg? *g*
--
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" &
Server.MapPath("database.mdb")
Conn.Open DSN
strSQL = "Insert into bruger ("
strSQL = strSQL & "brugernavn, "
strSQL = strSQL & "password, "
strSQL = strSQL & "email, "
strSQL = strSQL & "alder, "
strSQL = strSQL & "city) "
strSQL = strSQL & "values( "
strSQL = strSQL & "'"&Request.Form("brugernavn")&"',"
strSQL = strSQL & "'"&Request.Form("password")& "',"
strSQL = strSQL & "'"&Request.Form("email")& "',"
strSQL = strSQL & "'"&Request.Form("alder")& "',"
strSQL = strSQL & "'"&Request.Form("city")&"')"
Response.write strSQL
'Conn.Execute(strSQL)
Response.End
%>
Response.write etc... :)
--
På forhånd tak
- Morten.
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Jens Gyldenkærne Cla~ (16-10-2002)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 16-10-02 16:33 |
|
Morten skrev:
> Så er det gjort...og...hehe...nu siger den sq bare:
> Insert into bruger (brugernavn, password, email, alder, city)
> values(
> 'bil','111111','ChilliBoy@chilliboy.dk','19','København')
Se det kan vi bruge til noget.
Den fejlmeddelelse du sendte før forklarede at der mangler data i
feltet nickname. Din sqlsætning herover har slet ikke medtaget
brugerfeltet, derfor ved Access ikke hvad den skal sætte ind. Og da
du har markeret feltet som required kan den ikke bare indsætte
værdien null (som er den værdi der ellers indsættes når der ikke
findes en default og der ikke er defineret en værdi i INSERT-
sætningen).
Du kan gøre tre ting:
a) Sætte kryds i "Tillad nullværdier" ved feltet nickname (evt.
slette det helt).
b) Tilføje en dummyværdi i indsættelsen (tilføj nickname i den
første parantes og fx 'xxx' i den anden - husk passende kommaer).
C) Hente nickname fra din formular og lægge denne værdi i databasen
(på samme måde som du gør med de andre formularfelter).
PS: Det er ikke så mærkeligt at den kun giver INSERT-sætningen nu -
du har udkommenteret den linje der indsætter i databasen.
PS2: Du behøver ikke at gentage din kode hver gang.
--
Jens Gyldenkærne Clausen
Svar venligst under det du citerer, og citer kun det der er
nødvendigt for at forstå dit svar i sammenhængen. Se hvorfor og
hvordan på http://usenet.dk/netikette/citatteknik.html
| |
Morten (16-10-2002)
| Kommentar Fra : Morten |
Dato : 16-10-02 18:08 |
|
Jens GyldenkærneClausen wrote in
dk.edb.internet.webdesign.serverside.asp:
> a) Sætte kryds i "Tillad nullværdier" ved feltet nickname (evt.
> slette det helt).
>
> b) Tilføje en dummyværdi i indsættelsen (tilføj nickname i den
> første parantes og fx 'xxx' i den anden - husk passende kommaer).
>
> C) Hente nickname fra din formular og lægge denne værdi i databasen
> (på samme måde som du gør med de andre formularfelter).
>
> PS: Det er ikke så mærkeligt at den kun giver INSERT-sætningen nu -
> du har udkommenteret den linje der indsætter i databasen.
Jeg har ændret nullværdierne, men den registrerer stadig ikke, at man
indtaster noget i brugernavnfeltet...fejlmeddelelsen siger nu:
Insert into bruger (brugernavn, password, email, alder, city) values(
'bil','000000','ChilliBoy@chilliboy.dk','19','Sjælland')
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver] The field 'bruger.nickname'
cannot contain a Null value because the Required property for this
field is set to True. Enter a value in this field.
/test/medlemmer/modtag.asp, line 31
...og der ER som I kan se i "insert"-sætningen indsat værdier -
hvorfor registrerer databasen det så ikke?
På forhånd tak!
- Morten.
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Jens Gyldenkærne Cla~ (16-10-2002)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 16-10-02 20:13 |
|
Morten skrev:
> Jeg har ændret nullværdierne,
Du skal være opmærksom på at Access har to forskellige
indstillinger for tekstfelter der er nemme at forveksle.
Den ene hedder "Obligatorisk" og afgør om feltet tillader null-
værdier. Det andet hedder "TilladNulLængde" og afgør om feltet
tillader den tomme streng ("") som værdi. Bemærk at den tomme
streng _ikke_ er det samme som null.
> Insert into bruger (brugernavn, password, email, alder, city)
Herover har du de 5 feltnavne du eksplicit indsætter data i.
> Microsoft OLE DB Provider for ODBC Drivers error '80004005'
> [Microsoft][ODBC Microsoft Access Driver] The field
> 'bruger.nickname' cannot contain a Null value
Her er fejlmeddelelsen igen. Feltnavnet er 'bruger.nickname' (dvs.
feltet nickname i tabellen bruger).
> ..og der ER som I kan se i "insert"-sætningen indsat værdier -
Nej - der er ikke nogen værdi til feltet nickname. Det skal der
være (når der er hak i "obligatorisk" ved feltet). Derfor fejler
indsættelsen.
--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO - www.fiduso.dk)
I ovenstående tekst benyttes nyt komma.
| |
Morten (17-10-2002)
| Kommentar Fra : Morten |
Dato : 17-10-02 08:31 |
|
Jens GyldenkærneClausen wrote in
dk.edb.internet.webdesign.serverside.asp:
> Den ene hedder "Obligatorisk" og afgør om feltet tillader null-
> værdier. Det andet hedder "TilladNulLængde" og afgør om feltet
> tillader den tomme streng ("") som værdi. Bemærk at den tomme
> streng _ikke_ er det samme som null.
> Her er fejlmeddelelsen igen. Feltnavnet er 'bruger.nickname' (dvs.
> feltet nickname i tabellen bruger).
>
> Nej - der er ikke nogen værdi til feltet nickname. Det skal der
> være (når der er hak i "obligatorisk" ved feltet). Derfor fejler
> indsættelsen.
I min database, som også er uploaded står der følgende udfor
brugernavn:
Obligatorisk: Ja
TilladNullLængde: Ja
UnicodeKomprimering: Ja
Men den giver den fejl som nævnt i sidste indlæg ... det er derfor
jeg ikke kan se hvor fejlen ligger, for der står "ja" både udfor
TilladNullLængde og Obligatorisk ...
På forhånd tak!
- Morten.
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Jørn Andersen (17-10-2002)
| Kommentar Fra : Jørn Andersen |
Dato : 17-10-02 11:45 |
|
On Thu, 17 Oct 2002 07:30:54 +0000 (UTC), Morten
<ChilliBoy@chilliboy.dk> wrote:
>> Den ene hedder "Obligatorisk" og afgør om feltet tillader null-
>> værdier.
Altså hvis der står "Ja" ved Obligatorisk, tillades *ikke*
Null-værdier.
<snip>
>I min database, som også er uploaded står der følgende udfor
>brugernavn:
>Obligatorisk: Ja
Du tillader altså *ikke* Null-værdier. Null-værdier er fx hvis du ikke
indsætter noget i feltet.
Prøv at rette den til "Nej".
Good luck!
--
Jørn Andersen,
Brønshøj
| |
Jens Gyldenkærne Cla~ (17-10-2002)
| Kommentar Fra : Jens Gyldenkærne Cla~ |
Dato : 17-10-02 22:13 |
|
Morten skrev:
>> Her er fejlmeddelelsen igen. Feltnavnet er 'bruger.nickname'
> I min database, som også er uploaded står der følgende udfor
> brugernavn:
Spørgsmålet er ikke hvad der står ud for brugernavn - hvad står der
ud for nickname? Du skal læse de fejlmeddelelser du får meget
bogstaveligt. Hvis asp/access melder fejl ved feltet nickname
hjælper det ikke noget at rette feltet brugernavn.
> Obligatorisk: Ja
Det vil sige at der _ikke_ tillades nullværdier. Laver du en insert
uden at tilføje data til dette felt vil det altså give en fejl (men
som nævnt ovenfor er det tilsyneladende ikke i dette felt der er
fejl).
> TilladNullLængde: Ja
Det der nemt kan snyde er, at Obligatorisk: Ja er mere restriktivt
end Obligatorisk: Nej, mens TilladNulLængde: Ja omvendt er _mindre_
restriktivt end TilladNulLængde: Nej.
--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO - www.fiduso.dk)
I ovenstående tekst benyttes nyt komma.
| |
Morten (20-10-2002)
| Kommentar Fra : Morten |
Dato : 20-10-02 10:09 |
|
Jens GyldenkærneClausen wrote in
dk.edb.internet.webdesign.serverside.asp:
> Spørgsmålet er ikke hvad der står ud for brugernavn - hvad står der
> ud for nickname? Du skal læse de fejlmeddelelser du får meget
> bogstaveligt. Hvis asp/access melder fejl ved feltet nickname
> hjælper det ikke noget at rette feltet brugernavn.
> Det vil sige at der _ikke_ tillades nullværdier. Laver du en insert
> uden at tilføje data til dette felt vil det altså give en fejl (men
> som nævnt ovenfor er det tilsyneladende ikke i dette felt der er
> fejl).
>
> Det der nemt kan snyde er, at Obligatorisk: Ja er mere restriktivt
> end Obligatorisk: Nej, mens TilladNulLængde: Ja omvendt er _mindre_
> restriktivt end TilladNulLængde: Nej.
Hey igen Jens, nu er jeg rimelig overbevist om, at jeg har fundet
fejlen :) næste problem er bare, at den stadig brokker sig - men med
en anden fejl, så jeg tænkte på om ikke du kan maile mig, det er lidt
nemmere, og så kan vi fixe det lille problem derigennem?
På forhånd tak!
- Morten.
P.S.: Fejlen er nu:
Microsoft OLE DB Provider for ODBC Drivers error '80004005'
[Microsoft][ODBC Microsoft Access Driver]General error Unable to open
registry key 'Temporary (volatile) Jet DSN for process 0x58c Thread
0x98c DBC 0xa1bb014 Jet'.
/test/medlemmer/modtag.asp, line 15
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Flemming Jensen (20-10-2002)
| Kommentar Fra : Flemming Jensen |
Dato : 20-10-02 10:18 |
|
Morten skrev:
> P.S.: Fejlen er nu:
> Microsoft OLE DB Provider for ODBC Drivers error '80004005'
>
> [Microsoft][ODBC Microsoft Access Driver]General error Unable to open
> registry key 'Temporary (volatile) Jet DSN for process 0x58c Thread
> 0x98c DBC 0xa1bb014 Jet'.
Kunne godt se ud til den ikke kan åbne databasen. Hvis du har databasen åben
kan det være derfor.
__
Flemming Jensen
| |
|
|