webForumDet fria alternativet

Inte lägga till dubbletter?!

ASP

2 svar · 282 visningar · startad av henrik2001

Medlem sedan dec. 2000241 inlägg
Frågan#1

Hej!

Jag håller på med en databas som ska innehålla alla mina skivor.
För att inte lägga in dubbletter använder jag följande kod...problemet är att jag har strulat till det ganska rejält!
Finns det någon vänlig (och kunnig) människa som skulle vilja hjälpa mig med detta?

Tack på förhand

//Henrik

<%
Artist = Request.Form("Artist")
AlbumTitel = Request.Form("AlbumTitel")

Set skivconn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
MdbFilePath = Server.MapPath("tmps/skivor159.mdb")
skivconn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"

SQL = "SELECT * From Skivor"

rs.Open SQL, skivconn, 1, 2

rs.Close
rs.Open SQL, skivconn, 1, 2

' Kolla om det finns en dubblett.
 SQL = "Select * From Skivor Where Artist='" & Artist & "' AND AlbumTitel ='" & AlbumTitel & "'"

  If rs.EOF Then
' Ingen dubblett hittad...lägg till i databasen.

Set skivconn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
MdbFilePath = Server.MapPath("tmps/skivor159.mdb")
skivconn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"

SQL = "SELECT * From Skivor WHERE 1=2"

rs.Open SQL, skivconn, 1, 2

rs.AddNew
rs("Artist") = Artist
rs("AlbumTitel") = AlbumTitel
rs("Låtar") = Latar

rs.Update
rs.Close

' Skivan inlagd
' Tala om det
%>

<p align="center"><b>Skivan inlagd i databasen!<br>
<a href="javascript:history.back(1)">Lägg till fler skivor</a><br>
<a href="login.asp?fixa=start">Tillbaka till start-sidan</a><br>
<a href="login.asp?fixa=loggaut">Logga Ut!</a></b></p>

<%
  Else
' Skivan finns redan i databasen!
' Tala om det!
%>

<center>
<br><br>
Skivan finns redan, kolla <a href="info.asp?id=<%= rs("ID") %>" target="_blank">här!</a><br><br>
<% 'End If %>
<a href="javascript:history.back(1)">Tillbaka till lägg till-sidan</a>
</center>

<%
End If

rs.Update
rs.close
%>
Medlem sedan mars 2002777 inlägg
#2

Mkt otestat:

<%
Artist = Replace(Trim(Request.Form("Artist")), "'", "''")
AlbumTitel = Replace(Trim(Request.Form("AlbumTitel")), "'", "''")

Set skivconn = Server.CreateObject("ADODB.Connection")
MdbFilePath = Server.MapPath("tmps/skivor159.mdb")
skivconn.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & MdbFilePath & ";"

' Kolla om det finns en dubblett.
 SQL = "Select * From Skivor Where Artist='" & Artist & "' AND AlbumTitel ='" & AlbumTitel & "'"

set rs = skivconn.execute(SQL)

  If rs.eof Then
' Ingen dubblett hittad...lägg till i databasen.

sql = "insert into Skivor (Artist, AlbumTitel, Låtar) values('" & rs("Artist") & "', '" & rs("AlbumTitel") & "', '" & rs("Latar") & "')"

skivconn.execute(sql),,128

' Skivan inlagd
' Tala om det
%>

<p align="center"><b>Skivan inlagd i databasen!<br>
<a href="java script:history.back(1)">Lägg till fler skivor</a><br>
<a href="login.asp?fixa=start">Tillbaka till start-sidan</a><br>
<a href="login.asp?fixa=loggaut">Logga Ut!</a></b></p>

<%
  Else
' Skivan finns redan i databasen!
' Tala om det!
%>

<center>
<br><br>
Skivan finns redan, kolla <a href="info.asp?id=<%= rs("ID") %>" target="_blank">här!</a><br><br>
<a href="java script:history.back(1)">Tillbaka till lägg till-sidan</a>
</center>

<%
end if
rs.close()
rs = nothing

skivconn.close()
skivconn = nothing
%>
Medlem sedan dec. 2000241 inlägg
#3

tack!
ska testa snart!

253 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)