Avatar billede chrisrj Forsker
09. oktober 2002 - 15:48 Der er 8 kommentarer og
1 løsning

Problemer med at indsætte i db

Jeg har en tabel med brugere og tabel med biler.
Jeg har lavet en relation mellem "profiler.id" og "biler.id" ( 1 til mange ).

Men når jeg vil oprette brugere kommer denne fejl:

De ønskede ændringer af tabellen blev ikke gennemført, fordi de ville give dublerede værdier i indekset, den primære nøgle eller relationen. Rediger dataene i det eller de felter, der indeholder dublerede data, fjern indekset, eller omdefiner indekset, så dublerede indtastninger tillades, og forsøg igen.
/bilside/www/admin/ret-bruger.asp, line 58

linie 58:
  rse.Update


Her er min kode:

if mode ="tilfojet" then
    Set rs = Server.CreateObject("ADODB.RecordSet")
    strSQL = "Select * From profiler where navn='"&Request.form("brugernavn")&"'"
    rs.Open strSQL, Conne, adOpenKeyset, adLockOptimistic
    if not rs.eof then
        response.write "Dette brugernavn findes allerede. Prøv at vælge et andet."
    else
            rse.AddNew
            rse("navn") = Request.form("brugernavn")
            rse("password") = Request.form("password")
            rse.Update
           
            response.buffer=true
            response.clear
            response.redirect "portal.asp?page=bru_oversigt.asp"
            response.end
    end if
end if
Avatar billede ras2000 Nybegynder
09. oktober 2002 - 16:32 #1
Det er vist lidt kludder i rs og rse. Eller åbner du to recordset?
Avatar billede chrisrj Forsker
09. oktober 2002 - 16:35 #2
:). Ja, der er to...Bruger jeg rs kommer der fejl på det istedet...
Avatar billede chrisrj Forsker
09. oktober 2002 - 16:36 #3
Ved du hvordan man laver en INSERT hvor der er autonummer på "id" i databasen?
Avatar billede ras2000 Nybegynder
09. oktober 2002 - 16:39 #4
Ja, det er vist på samme måde, der giver du bare ikke nogen værdi til autonummereringsfeltet. Men det du laver burde da virke. Du har ikke en eller anden løkke, så den prøver at smide det ind to gange? Prøv at læg den del hvor du laver udtrækket til rse, den er vel mere interessant end rs'en
Avatar billede chrisrj Forsker
09. oktober 2002 - 16:45 #5
jeg skal desværre gå nu, men jeg kigger ind straks når jeg kommer hjem i aften.
Avatar billede the_bma_man Nybegynder
09. oktober 2002 - 17:23 #6
Du checker om der er en eksisterende record i rs. Hvis ikke, tilføjer du i rse. Er de to recordset ens?
Avatar billede chrisrj Forsker
09. oktober 2002 - 22:11 #7
Så er jeg tilbage. :)

Her er rse:

Const adOpenKeyset = 1
Const adLockOptimistic = 3
Set Conne = Server.CreateObject("ADODB.Connection")
Conne.Open "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../../database/database.mdb") & ";UID=admin;PWD=;"

    Set rse = Server.CreateObject("ADODB.RecordSet")
    strSQLe = "Select * From profiler"
    rse.Open strSQLe, Conne, adOpenKeyset, adLockOptimistic
Avatar billede chrisrj Forsker
09. oktober 2002 - 23:02 #8
Er der virkerlig ingen der kan hjælpe mig med dette problem?? HJÆÆLP!!
Avatar billede chrisrj Forsker
09. oktober 2002 - 23:09 #9
Jeg har fundet problemet... id var ikke autonummer...
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