Avatar billede curentus Nybegynder
28. december 2010 - 20:21 Der er 14 kommentarer og
1 løsning

Kan ikke indsætte data i access db.

Hej jeg sidder og roder med noget ASP kode og fatter intet af hvorfor denne scriptdel ikke virker, det burde den da?


prefixSQL = "Insert into personer (brugernavn, password, fornavn, efternavn, adresse, postnr, by, tlf, email, level, titel, notater, tid, dato)"
suffixSQL = "values ('" & request.form("brugernavn") & "','" & request.form("password") & "','" & request.form("fornavn") & "','" & request.form("efternavn") & "','" & request.form("adresse") & "','" & request.form("postnr") & "','" & request.form("by") & "','" & request.form("tlf") & "','" & request.form("email") & "','" & request.form("level") & "','" & request.form("titel") & "','" & request.form("notater") & "','" & request.form("tid") & "','" & request.form("dato") & "')"

SQL = prefixSQL & suffixSQL
Conn.Execute(SQL)

Conn.Close
Set Conn = Nothing


//curentus
Avatar billede jakobdo Ekspert
28. december 2010 - 20:32 #1
Kunne du evt. prøve at printe din SQL inden du executer den ?
Måske du mangler nogle data ?
Eller også er BY reserved word i access?
Avatar billede jakobdo Ekspert
28. december 2010 - 20:32 #2
Avatar billede curentus Nybegynder
28. december 2010 - 20:47 #3
Har prøvet udskrive sql men det ser fint ud. Godt bud på ordet 'by' så har ændre det til 'bynavn' uden resultat.

Det er ligesom om der går noget galt i selve access tabellen! For når jeg prøver at ændre, så den indsætter dele af values i en anden tabel virker det fint. Det Er Lige Godt Grov'


//curentus
Avatar billede jakobdo Ekspert
28. december 2010 - 20:50 #4
Hvordan ser din kode ud nu ?
Og har du rettet felt navnet fra by til bynavn ?
Avatar billede curentus Nybegynder
28. december 2010 - 20:55 #5
Ja har ændret både i databasen og i POST filen og min opret fil.


Du får lige min POST fil:


<fieldset style="width: 400; height: 100">
    <legend><font size="4"><b>Opret Bruger
    <img border="0" src="img/bruger.gif" width="10" height="19"> </b></font></legend>
    <form method="POST" action="opret.asp?system=opretbruger">
        <div align="center">
            <table border="0" width="350" cellspacing="0" cellpadding="0">
                <tr>
                    <td>
                   
                   
                    <table border="0" width="350" cellspacing="0" cellpadding="0">
                        <tr>
                            <td width="100"><font size="2">Brugernavn</font></td>
                            <td width="20"><font size="2">:</font></td>
                            <td width="220"><font size="2">
                            <input type="text" name="brugernavn" size="29"> </font></td>
                            <td width="10"><font size="2">&nbsp; </font></td>
                        </tr>
                        <tr>
                            <td width="100"><font size="2">&nbsp;</font></td>
                            <td width="20"><font size="2">&nbsp;</font></td>
                            <td width="220"><font size="2">&nbsp;</font></td>
                            <td width="10"><font size="2">&nbsp;</font></td>
                        </tr>
                        <tr>
                            <td width="100"><font size="2">Password</font></td>
                            <td width="20"><font size="2">:</font></td>
                            <td width="220"><font size="2">
                            <input type="text" name="password" size="29"> </font></td>
                            <td width="10"><font size="2">&nbsp;</font></td>
                        </tr>
                        <tr>
                            <td width="100"><font size="2">&nbsp;</font></td>
                            <td width="20"><font size="2">&nbsp;</font></td>
                            <td width="220"><font size="2">&nbsp;</font></td>
                            <td width="10"><font size="2">&nbsp;</font></td>
                        </tr>
                        <tr>
                            <td width="100"><font size="2">Fornavn</font></td>
                            <td width="20"><font size="2">:</font></td>
                            <td width="220"><font size="2">
                            <input type="text" name="fornavn" size="29"> </font></td>
                            <td width="10"><font size="2">&nbsp;</font></td>
                        </tr>
                        <tr>
                            <td width="100"><font size="2">&nbsp;</font></td>
                            <td width="20"><font size="2">&nbsp;</font></td>
                            <td width="220"><font size="2">&nbsp;</font></td>
                            <td width="10"><font size="2">&nbsp;</font></td>
                        </tr>
                        <tr>
                            <td width="100"><font size="2">Efternavn</font></td>
                            <td width="20"><font size="2">:</font></td>
                            <td width="220"><font size="2">
                            <input type="text" name="efternavn" size="29"> </font></td>
                            <td width="10"><font size="2">&nbsp;</font></td>
                        </tr>
                        <tr>
                            <td width="100"><font size="2">&nbsp;</font></td>
                            <td width="20"><font size="2">&nbsp;</font></td>
                            <td width="220"><font size="2">&nbsp;</font></td>
                            <td width="10"><font size="2">&nbsp;</font></td>
                        </tr>
                        <tr>
                            <td width="100"><font size="2">Adresse</font></td>
                            <td width="20"><font size="2">:</font></td>
                            <td width="220"><font size="2">
                            <input type="text" name="adresse" size="29"> </font></td>
                            <td width="10"><font size="2">&nbsp;</font></td>
                        </tr>
                        <tr>
                            <td width="100"><font size="2">&nbsp;</font></td>
                            <td width="20"><font size="2">&nbsp;</font></td>
                            <td width="220"><font size="2">&nbsp;</font></td>
                            <td width="10"><font size="2">&nbsp;</font></td>
                        </tr>
                        <tr>
                            <td width="100"><font size="2">Postnr.</font></td>
                            <td width="20"><font size="2">:</font></td>
                            <td width="220"><font size="2">
                            <input type="text" name="postnr" size="3"> </font></td>
                            <td width="10"><font size="2">&nbsp;</font></td>
                        </tr>
                        <tr>
                            <td width="100"><font size="2">&nbsp;</font></td>
                            <td width="20"><font size="2">&nbsp;</font></td>
                            <td width="220"><font size="2">&nbsp;</font></td>
                            <td width="10"><font size="2">&nbsp;</font></td>
                        </tr>
                        <tr>
                            <td width="100"><font size="2">By</font></td>
                            <td width="20"><font size="2">:</font></td>
                            <td width="220"><font size="2">
                            <input type="text" name="bynavn" size="29"> </font></td>
                            <td width="10"><font size="2">&nbsp;</font></td>
                        </tr>
                        <tr>
                            <td width="100"><font size="2">&nbsp;</font></td>
                            <td width="20"><font size="2">&nbsp;</font></td>
                            <td width="220"><font size="2">&nbsp;</font></td>
                            <td width="10"><font size="2">&nbsp;</font></td>
                        </tr>
                        <tr>
                            <td width="100"><font size="2">Tlf</font></td>
                            <td width="20"><font size="2">:</font></td>
                            <td width="220"><font size="2">
                            <input type="text" name="tlf" size="29"> </font></td>
                            <td width="10"><font size="2">&nbsp;</font></td>
                        </tr>
                        <tr>
                            <td width="100"><font size="2">&nbsp;</font></td>
                            <td width="20"><font size="2">&nbsp;</font></td>
                            <td width="220"><font size="2">&nbsp;</font></td>
                            <td width="10"><font size="2">&nbsp;</font></td>
                        </tr>
                        <tr>
                            <td width="100"><font size="2">E-mail</font></td>
                            <td width="20"><font size="2">:</font></td>
                            <td width="220"><font size="2">
                            <input type="text" name="email" size="29"> </font></td>
                            <td width="10"><font size="2">&nbsp;</font></td>
                        </tr>
                        <tr>
                            <td width="100"><font size="2">&nbsp;</font></td>
                            <td width="20"><font size="2">&nbsp;</font></td>
                            <td width="220"><font size="2">&nbsp;</font></td>
                            <td width="10"><font size="2">&nbsp;</font></td>
                        </tr>
                        <tr>
                            <td width="100"><font size="2">Brugerlevel</font></td>
                            <td width="20"><font size="2">:</font></td>
                            <td width="220"><select size="1" name="level">
                            <option value="100">Kunde</option>
                            <option value="200">Ansat</option>
                            <option value="500">Admin</option>
                            </select><font size="2"> </font></td>
                            <td width="10"><font size="2">&nbsp;</font></td>
                        </tr>
                        <tr>
                            <td width="100"><font size="2">&nbsp;</font></td>
                            <td width="20"><font size="2">&nbsp;</font></td>
                            <td width="220"><font size="2">&nbsp;</font></td>
                            <td width="10"><font size="2">&nbsp;</font></td>
                        </tr>
                        <tr>
                            <td width="100"><font size="2">Titel:</font></td>
                            <td width="20"><font size="2">:</font></td>
                            <td width="220"><select size="1" name="titel">
                            <option value="0" selected>Ikke Ansat</option>
                            <option value="1">Administrator</option>
                            <option value="2">Webmaster</option>
                            <option value="3">Assistent</option>
                            <option value="4">Praktikant</option>
                            <option value="5">Lærling</option>
                            <option value="6">Elektriker</option>
                            <option value="7">Sekretær</option>
                            <option value="8">Overmontør</option>
                            <option value="9">Mester</option>
                            </select><font size="2"> </font></td>
                            <td width="10"><font size="2">&nbsp;</font></td>
                        </tr>
                    </table>
                    <p><br>
        </font><br>
        <input type="submit" value="Opret Bruger" name="B1"><br>
        <input type="hidden" name="notater" value="0">
        <input type="hidden" name="tid" value="<%=FormatDateTime(Now, vbShortTime)%>">
        <input type="hidden" name="dato" value="<%=Day(Date) & "/" & Month(Date) & " - " & Year(Date)%>"></td>
                </tr>
            </table>
        </div>
    </form>
    <p>&nbsp;</p>
</fieldset>
Avatar billede curentus Nybegynder
28. december 2010 - 20:58 #6
Min opretfil (den er bygget sammen med flere opret scripts vha. if sætning):

ElseIf Request.Querystring("system") = "opretbruger" Then
prefixSQL = "Insert into personer (brugernavn, password, fornavn, efternavn, adresse, postnr, bynavn, tlf, email, level, titel, notater, tid, dato)"
suffixSQL = "values ('" & request.form("brugernavn") & "','" & request.form("password") & "','" & request.form("fornavn") & "','" & request.form("efternavn") & "','" & request.form("adresse") & "','" & request.form("postnr") & "','" & request.form("bynavn") & "','" & request.form("tlf") & "','" & request.form("email") & "','" & request.form("level") & "','" & request.form("titel") & "','" & request.form("notater") & "','" & request.form("tid") & "','" & request.form("dato") & "')"

SQL = prefixSQL & suffixSQL
Response.Write (SQL)

Conn.Close
Set Conn = Nothing
Avatar billede jakobdo Ekspert
28. december 2010 - 21:00 #7
Hvad udskriver din: Response.Write (SQL)
Og hvad hvis du tager den sql og smider direkte ind i access ?
Avatar billede curentus Nybegynder
28. december 2010 - 21:05 #8
SQL'en udskriver følgende:

Insert into personer (brugernavn, password, fornavn, efternavn, adresse, postnr, bynavn, tlf, email, level, titel, notater, tid, dato)values ('bruger','pass','for','efter','adres','post','byen','telefon','email','200','9','0','19:50','28/12 - 2010')


Mener du hvis jeg taster det manuelt i db'en?
Avatar billede curentus Nybegynder
28. december 2010 - 21:07 #9
Eller conn.execute(SQL)
Avatar billede curentus Nybegynder
28. december 2010 - 21:08 #10
conn.execute(SQL)

giver mig fejl 500.
Avatar billede jakobdo Ekspert
28. december 2010 - 21:12 #11
Hvad sker der, hvis du skyder denne sql af direkte i access?

Insert into personer (brugernavn, password, fornavn, efternavn, adresse, postnr, bynavn, tlf, email, level, titel, notater, tid, dato)values ('bruger','pass','for','efter','adres','post','byen','telefon','email','200','9','0','19:50','28/12 - 2010')
Avatar billede curentus Nybegynder
28. december 2010 - 21:22 #12
Der er noget helt galt med min db, har lige prøvet at indtaste oplysningerne manuelt. Og nu kan jeg slet ikke hente data fra tabellen personer, men det er tilsyneladende kun den tabel det er galt med.

Skal lige prøve at lave en helt ny db.
Avatar billede softspot Forsker
29. december 2010 - 00:48 #13
Hvad er formterne af felterne i din database? Datoen du indsætter ser ikke helt standard ud, så hvis det er et datofelt, kan det være noget af årsagen.

En anden ting du kan prøve er at sætte call foran kommendoen med execute (eller undlade at sætte SQL i parantes):

call conn.execute(sql)


Det kan også være du mangler at indsætte et mellemrum før values i din sql-sætning. Det er godt nok et lidt usikkert bud, da sætningen rent syntaktisk burde kunne tolkes alligevel i og med feltlisten lige er afsluttet inden values-nøgleordet...
Avatar billede curentus Nybegynder
30. december 2010 - 13:49 #14
Lukker...

Scriptet fejlede ikke noget af en eller anden årsag var det en fejl i db. Virkede da jeg lavede en helt ny db.
Avatar billede jakobdo Ekspert
30. december 2010 - 17:12 #15
Jamen selv tak for hjælpen og behold du bare pointene selv.
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