Avatar billede tubber Juniormester
09. marts 2004 - 22:50 Der er 22 kommentarer og
1 løsning

Fejl i insert into

Jeg får følgende fejl når jeg prøver at sætte data ind i db

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver]General error Unable to open registry key 'Temporary (volatile) Jet DSN for process 0x6e8 Thread 0x70c DBC 0x6a89c94 Jet'.
/komogvind.dk/newresponse.asp, line 5


Browser Type:
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; iOpus-I-M)

Page:
POST 188 bytes to /komogvind.dk/newresponse.asp

POST Data:
nick=Testbruger&navn=Ryan+Frandsen&email=smolf@krog-frandsen.dk&ide=Meget+God&mening=Her+er+min+mening+men+er+den+vigtig+%3F+ja+det+er+den+is%E6r+n%E5r+den+st%E5r+sammen+med+andres+%3AO%29

Time:
9. marts 2004, 22:51:13


More information:
Microsoft Support

min sql sætning ser således her ud:
    SQL = "insert into tblInfo (dbNick, dbNavn, dbEmail, dbSvar, dbNote, dbDato, dbIP) values ('" & nick & "','" & navn & "','" & email & "','" & ide & "','" & mening & "','" & FormatDateTime(Date,1) & " - " & time & "','" & Request.ServerVariables("REMOTE_ADDR") & "')"

Hvad er fejlen - har prøvet at fjerne Remote_addr og date time delen..........
Avatar billede tubber Juniormester
09. marts 2004 - 22:55 #1
hmmmm den fejl ser ud til at være kommet fordi min db var åben i access, men efter den er lukket så får jeg en unspecified error og samme tekst
Avatar billede thesurfer Nybegynder
09. marts 2004 - 23:18 #2
Kilde: http://www.pagedowntech.com/faq/faq.asp?faqid=46

"This message usually means there is a problem with the driver you are using, the path to the database is incorrect, or file permissions on the database are set incorrectly."

1) Check om du har skrevet stien + navnet på databasen korrekt
2) Check om du har åbnet for forbindelsen til databasen.
3) Check om rettighederne er som de skal være (skrive rettigheder)
Avatar billede tubber Juniormester
10. marts 2004 - 06:39 #3
Det har jeg for det virker hvis der kun står nick
Avatar billede tubber Juniormester
10. marts 2004 - 07:37 #4
Den skriver godtnok nick, Dato og IP ind
Avatar billede tubber Juniormester
10. marts 2004 - 08:33 #5
Vil det hjælpe med hele min kode ?
Avatar billede thesurfer Nybegynder
10. marts 2004 - 16:56 #6
Smid lige hele din kode herind.. husk at erstatte stien til databasen, brugernavn/password osv, med f.eks. "xxxxx".
Avatar billede tubber Juniormester
10. marts 2004 - 18:04 #7
<%
if Request.ServerVariables("REQUEST_METHOD") = "POST" and Request.Form("nick") <> "" then
  'Gem i databasen
  Set Conn = Server.CreateObject("ADODB.Connection")
  Conn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("info.mdb")

  nick = replace(Request.Form("nick"),"'","''")
  SQL = "select * from tblInfo where dbNick = '" & nick & "'"
  set rs = Conn.Execute(SQL)
  if rs.EOF then
    'navnet var ikke i databasen tilføj
    SQL = "insert into tblInfo (dbNick, dbNavn, dbEmail, dbSvar, dbNote, dbDato, dbIP) values ('" & nick & "','" & navn & "','" & email & "','" & ide & "','" & mening & "','" & FormatDateTime(Date,1) & " - " & time & "','" & Request.ServerVariables("REMOTE_ADDR") & "')"
    Conn.Execute(SQL)
    Conn.Close
    'LAV redirect her:
    Response.Redirect("response.asp")
  else
    'navnet findes
    Response.Write "Navnet findes i forvejen"
    Conn.Close
  end if
end if
%>
<HTML>
<HEAD>
<TITLE>Title</TITLE>
<STYLE>
    TD {
    FONT-FAMILY:    VERDANA,ARIAL;
    FONT-SIZE:    12PX;
    }
</STYLE>
</HEAD>
<BODY>
<CENTER><H1>Overskrift</H1></CENTER>

</BODY>
<FORM METHOD="POST" ACTION="<%=Request.ServerVariables("SCRIPT_NAME")%>">
<TABLE BGCOLOR="#5090F9" WIDTH="600px" ALIGN="CENTER" BORDER="1">
    <TR>
        <TD ALIGN=LEFT WIDTH="30%">
            <B>Brugernavn:</B><BR>
            <INPUT TYPE=TEXT NAME=nick SIZE=25 VALUE="Skriv dit brugernavn her">
        </TD>
        <TD ALIGN=LEFT WIDTH="70%">
            <B>Navn og email adresse bliver ikke postet!
            Det er kun for at kunne se om det er en bruger som har indtastet sin mening.</B>
        </TD>
    </TR>
    <TR>
        <TD ALIGN=LEFT WIDTH="30%">
            <B>Navn:</B><BR>
            <INPUT TYPE=TEXT NAME=navn SIZE=25 VALUE="Skriv dit navn her">
        </TD>
        <TD ALIGN=LEFT WIDTH="70%">
            <B>Email:</B><BR>
            <INPUT TYPE=TEXT NAME=email style="width:400px;"  VALUE="Skriv din emailadresse her">
        </TD>
    </TR>
    <TR>
        <TD ALIGN=LEFT WIDTH="30%" VALIGN="TOP">
            <B>Din mening om ideen:</B><BR>
            <TABLE BORDER="0">
                <TR>
                    <TD WIDTH="75">
                        Meget God:
                    </TD>
                    <TD>
                        <INPUT TYPE=radio NAME=ide VALUE="Meget God"><BR>
                    </TD>
                </TR>
            </TABLE>           
            <TABLE BORDER="0">
                <TR>
                    <TD WIDTH="75">
                        God:
                    </TD>
                    <TD>
                        <INPUT TYPE=radio NAME=ide VALUE="God"><BR>
                    </TD>
                </TR>
            </TABLE>           
            <TABLE BORDER="0">
                <TR>
                    <TD WIDTH="75">
                        Lidt God:
                    </TD>
                    <TD>                               
                        <INPUT TYPE=radio NAME=ide VALUE="Lidt God"><BR>
                    </TD>
                </TR>
            </TABLE>           
            <TABLE BORDER="0">
                <TR>
                    <TD WIDTH="75">
                        OK:
                    </TD>
                    <TD>
                        <INPUT TYPE=radio NAME=ide VALUE="OK"><BR>
                    </TD>
                </TR>
            </TABLE>           
            <TABLE BORDER="0">
                <TR>
                    <TD WIDTH="75">
                        Lidt Dårlig:
                    </TD>
                    <TD>
                        <INPUT TYPE=radio NAME=ide VALUE="Lidt Dårlig"><BR>
                    </TD>
                </TR>
            </TABLE>           
            <TABLE BORDER="0">
                <TR>
                    <TD WIDTH="75">
                        Dårlig:
                    </TD>
                    <TD>
                        <INPUT TYPE=radio NAME=ide VALUE="Dårlig"><BR>
                    </TD>
                </TR>
            </TABLE>           
            <TABLE BORDER="0">
                <TR>
                    <TD WIDTH="75">
                        Meget Dårlig:
                    </TD>
                    <TD>
                        <INPUT TYPE=radio NAME=ide VALUE="Meget Dårlig">
                    </TD>
                </TR>
            </TABLE>
            <TABLE BORDER="0">
                <TR>
                    <TD WIDTH="75">
                        Ved Ikke:
                    </TD>
                    <TD>
                        <INPUT TYPE=radio NAME=ide VALUE="Ved Ikke">
                    </TD>
                </TR>
            </TABLE>
        </TD>
        <TD ALIGN=LEFT WIDTH="70%" VALIGN="TOP">
            <B>Note:</B><BR>
            <TEXTAREA NAME="mening" STYLE="WIDTH:400PX;HEIGHT:210PX;">Skriv din mening her</TEXTAREA>
        </TD>
           
    </TR>
    <TR>
        <TD ALIGN=LEFT WIDTH="30%">
        &nbsp
        </TD>
        <TD ALIGN=RIGHT WIDTH="70%">
            <INPUT TYPE=reset VALUE="Nulstil felterne">
            &nbsp &nbsp
            <INPUT TYPE=Submit VALUE="Tilføj din mening">
        </TD>
    </TR>
</TABLE>
</FORM>
</HTML>
Avatar billede tubber Juniormester
10. marts 2004 - 18:26 #8
Har ændret den bodyfejl men det løste ikke problemet
Avatar billede thesurfer Nybegynder
10. marts 2004 - 18:30 #9
Avatar billede thesurfer Nybegynder
10. marts 2004 - 18:37 #10
Prøv også følgende:
1)
kommenter linien "Conn.Execute(SQL)".. dvs put et ' tegn foran
Melder den fejl?

2)
kommenter linien "Conn.Execute(SQL)".. dvs put et ' tegn foran
skriv: response.write "resultat: " & SQL
Smid det efter "resultat:", herind.
Avatar billede tubber Juniormester
10. marts 2004 - 19:44 #11
Her er den streng den skriver ud
resultat: insert into tblInfo (dbNick, dbNavn, dbEmail, dbSvar, dbNote, dbDato, dbIP) values ('Sabapus','','','','','10. marts 2004 - 19:47:34','80.198.0.162')

ingen fejl..........
Avatar billede thesurfer Nybegynder
10. marts 2004 - 19:54 #12
1) har du checket punkterne i linket, i mit indlæg 10/03-2004 18:30:31 ?
2) har du husket "tillad nullængde" til felterne "dbNavn, dbEmail, dbSvar, dbNote"?
Avatar billede tubber Juniormester
10. marts 2004 - 20:20 #13
Den melder ikke fejl mere, den skriver  bare ikke alle data ind i db, og de felter er ikke tomme, der er data i dem......

Kigger du på min sqlstreng så kan du se at den sender Navn, Email, Svar og Note som tomme felter......og det virker fint med tomme felter for de er også tomme i db, meeen hvor er mine data som er indtastet i felterne hehe
Avatar billede tubber Juniormester
10. marts 2004 - 20:21 #14
ellers et fint link :O) mange gode ting
Avatar billede tubber Juniormester
10. marts 2004 - 20:24 #15
Chekkede lige efter hvis det alligevel skulle ha noget at sige, der må gerne være null length i alle felterne
Avatar billede thesurfer Nybegynder
10. marts 2004 - 20:24 #16
ahhhh... du mangler jo noget :)
det her:

' noget kode her, og så:

  if rs.EOF then
    'navnet var ikke i databasen tilføj

nick = replace(request.form("nick"), "'","''")
navn = replace(request.form("navn"), "'","''")
email = replace(request.form("email"), "'","''")
ide = replace(request.form("ide"), "'","''")
mening = replace(request.form("mening"), "'","''")

SQL = "insert into tblInfo (dbNick, dbNavn, dbEmail, dbSvar, dbNote, dbDato, dbIP) values ('" & nick & "','" & navn & "','" & email & "','" & ide & "','" & mening & "','" & FormatDateTime(Date,1) & " - " & time & "','" & Request.ServerVariables("REMOTE_ADDR") & "')"
    Conn.Execute(SQL)

' resten af koden her...
Avatar billede thesurfer Nybegynder
10. marts 2004 - 20:27 #17
Forklaring:

- Request.Form:
Request.Form("FELTNAVN") henter de data, der står i feltet "FELTNAVN", når man bruger method="POST"
Eksempel: <input type="nick"> (man skriver f.eks. "Hans")

- Request.Querystring
Request.Querystring("VARIABELNAVN") henter de data, der står i variablen "VARIABELNAVN", når man bruger method="GET"
Eksempel: side.asp?nick=Hans
Avatar billede thesurfer Nybegynder
10. marts 2004 - 20:28 #18
rettelse:
Eksempel: side.asp?VARIABELNAVN=Hans

;-)
Avatar billede thesurfer Nybegynder
10. marts 2004 - 20:31 #19
Se:
Lektion 10: Værdier af variabler i en URL - http://html.dk/tutorials/asp/lektion10.asp
Lektion 11: Værdier af elementer i en formular - http://html.dk/tutorials/asp/lektion11.asp
Avatar billede thesurfer Nybegynder
10. marts 2004 - 20:38 #20
Forklaring på replace-delen:

Nu er det sådan at et ' tegn i sql-streng kan give problemer. Og det er en sikkerhedsrisiko, når man bruger login med f.eks. brugernavn/password.

Derfor erstatter man 1 ' tegn med 2 ' tegn, som opfattes som en enkelt ' tegn.
Avatar billede tubber Juniormester
10. marts 2004 - 21:29 #21
Weeeeeeee nu virker det :)

1000 tak :O) og der er points til dig og de er velfortjente :O)
Avatar billede thesurfer Nybegynder
10. marts 2004 - 21:44 #22
OK, her er et svar :)
Glad for at kunne hjælpe :)
Avatar billede thesurfer Nybegynder
10. marts 2004 - 22:06 #23
Takker for points! :)
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