Jag håller på med en adminsida och behöver lägga in felmeddelanden som kommer upp om kunden försöker lägga till en post som redan finns, så att det kommer upp ett snyggare felmmeddelande än: Hur hade du tänkt att nån skulle hjälpa dig utan lite kod att kolla på? <code></code>Felmeddelanden vid dubletter av post i databas
Microsoft OLE DB Provider for ODBC Drivers fel '80040e14'
[Microsoft][ODBC Microsoft Access Driver] The changes you requested to the table were not successful because they would create duplicate values in the index, primary key, or relationship.
Någon som kan hjälpa mig?
CamillaSv: Felmeddelanden vid dubletter av post i databas
Sv: Felmeddelanden vid dubletter av post i databas
Du kan ju öppna ett recordset och se efter om det retunerar några poster:
<code>
<%
Dim rs
Dim con
Dim strSQL
Dim strNewValue
Set con = Server.CreateObject("ADODB.Connection")
con.Open "......Connection String......"
strSQL = "SELECT Null FROM TabellNamn WHERE FältNamn='" & Replace(strNewValue, "'", "''") & "'"
Set rs = con.Execute(strSQL)
If rs.EOF Then
strSQL = "INSERT INTO TabellNamn (FältNamn) VALUES ('" & Replace(strNewValue, "'", "''") & "')"
con.Execute strSQL
Response.Write "Posten har nu sparats i databasen."
Else
Response.Write "finns redan i databasen. Ändra ditt värde och försök igen."
End If
rs.Close
Set rs = Nothing
con.Close
Set con = Nothing
%>
</code>
Om du skall kontrollera fel. Bör du fånga felnumret du är efter:
<code>
<%
Dim rs
Dim con
Dim strSQL
Dim strNewValue
On Error Resume Next
Set con = Server.CreateObject("ADODB.Connection")
con.Open "......Connection String......"
If Err.Number Then
Response.Write "Fel vid öppning av connection: " & Err.number & " - " & Err.Description
Else
strSQL = "INSERT INTO TabellNamn (FältNamn) VALUES ('" & Replace
con.Execute strSQL
Select Case Err.Number
Case 0
Response.Write "Posten har nu sparats i databasen."
Case &H80040E14
Response.Write "Posten finns redan i databasen. Ändra ditt värde och försök igen."
Case Else
Response.Write "Oväntat fel: " & Err.number & " - " & Err.Description
End Selection
con.Close
End If
Set con = Nothing
%>
</code>