Avatar billede cotus Nybegynder
23. januar 2003 - 20:32 Der er 8 kommentarer

Fejl i SQL...

Får denne fejl:

The changes you requested to the table were not successful because they would create duplicate values in the index, primary key, or relationship.  Change the data in the field or fields that contain duplicate data, remove the index, or redefine the index to permit duplicate entries and try again

Med denne kode:

<table width="100%" style="border-collapse: collapse" bordercolor="#111111" cellpadding="0" cellspacing="0">
<tr>

<td valign="top" align="right">
<p>
<form name="creator" method="post" action="creator.asp">
<font color="#333333"><b>Creators:</b></font>
<select name="creator">
<%
  Set Conn = Server.CreateObject("ADODB.Connection")
  DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
  DSN = DSN & "DBQ=" & Server.MapPath("dco_database.mdb")
  Conn.Open DSN
  strSQL = "SELECT DISTINCT tegner FROM comics ORDER BY tegner"
  Set rs = Conn.Execute(strSQL)
   
  Do
    strCreator = rs("tegner")
    strTegner = strCreator
       
    If strTegner = "dr" Then
        strTegner = "Don Rosa"
    End if
       
    If strTegner = "cb" Then
        strTegner = "Carl Barks"
    End if
%>
<option value="<%=strCreator%>"><%=strTegner%></option>

<%
rs.movenext
Loop While Not rs.EOF

rs.Close
Set rs = Nothing
   
Conn.Close
Set Conn = Nothing
%>
</select>
<input type="submit" value="Show me!"><br>
</form>
</p>

<p>
<form name="character" method="post" action="character.asp">
<font color="#333333"><b>Characters:</b></font>
<select name="character">
<%
  Set Conn = Server.CreateObject("ADODB.Connection")
  DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
  DSN = DSN & "DBQ=" & Server.MapPath("dco_database.mdb")
  Conn.Open DSN
  strSQL = "SELECT DISTINCT hovedperson FROM comics"
  Set rs = Conn.Execute(strSQL)
   
  Do
    strApp = rs("hovedperson")
    strHovedperson = strApp
       
    If strHovedperson = "dd" Then
        strHovedperson = "Donald Duck"
    End if
       
    If strHovedperson = "us" Then
        strHovedperson = "Uncle Scrooge"
    End if
%>
<option value="<%=strApp%>"><%=strHovedperson%></option>

<%
rs.movenext
Loop While Not rs.EOF

rs.Close
Set rs = Nothing
   
Conn.Close
Set Conn = Nothing
%>
</select>
<input type="submit" value="Show me!"><br>
</form>
</p>
</td>

</tr>
</table>


Hvori ligger fejlen?
Avatar billede alrua Nybegynder
23. januar 2003 - 20:33 #1
du har tilsyneladende lavet et 'primary key' felt. Fidusen med den slags felter er at de indeholder en _unik_ id for den række...derfor kan der ikke stå det samme flere steder i det felt :)
Avatar billede cotus Nybegynder
23. januar 2003 - 20:35 #2
Hvad gør jeg for at få det til at fungere?
Avatar billede cotus Nybegynder
23. januar 2003 - 20:41 #3
Problemerne startede først efter jeg tilføjede et gæste-bog system på forsiden?
Avatar billede alrua Nybegynder
23. januar 2003 - 20:43 #4
erm...lav en ny kolonne i din tabel af typen integer og slå auto_increment fra. Og giv så den primary key værdien :)

Så skulle du have en unik ID for hver række i tabellen...skulle mene det var det i hvert fald :D
Avatar billede cotus Nybegynder
23. januar 2003 - 20:46 #5
Ehm... det fattede jeg ik lige! :S
Prøv at forklar det lidt mere pædagogisk, for så meget er jeg heller ikke inde i Access!?!?!
Avatar billede alrua Nybegynder
23. januar 2003 - 20:50 #6
erm...opret et nyt felt og sig at datatype skal være 'tal' (eller hvad det nu hedder)

Et eller andet sted burde du kunne vælge autonummerering..

Og så skal du bare flytte den primære nøgle (der er et ikon eller sådan noget) :)
Avatar billede cotus Nybegynder
23. januar 2003 - 21:04 #7
Jeg har allerede en primær nøgle, som hedder ID, med autonummerering!
Avatar billede alrua Nybegynder
23. januar 2003 - 21:06 #8
så er det vel en af de andre felter som er konfigureret til ikke at acceptere flere ens?
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