webForumDet fria alternativet

mänskligt felmedelande..

ASP

4 svar · 164 visningar · startad av icaaq

Medlem sedan okt. 20005 273 inlägg
Frågan#1

jag får följande felmedelande:

Microsoft JET Database Engine error '80004005' 

De ändringar du begärde i tabellen utfördes inte eftersom de skulle ha skapat dubbletter i index, primärnyckel eller relation. Ändra data i det eller de fält som innehåller identiska data, ta bort indexet eller definiera om indexet så att det tillåter dubbletter. Försök därefter igen. 

/Test/match3.asp, line 47

och jag vet att det är för att det redan finns data i det fältet...det är inte det som är problemet utan???

om detta fel skulle uppkomma vill jag kunna skriva

Response.Write "du har redan lagt in det matchnr .....osv osv

går det asso nåt typ:

on error then 
Response.Write "du har redan lagt in det matchnr .....osv osv

------------------
there is no i in orgasm
när du vill träffa
andra

Medlem sedan dec. 200012 464 inlägg
#2

Ja ungefär, det finns ett globalt objekt Err som innehåller info om senaste fel.


  On error resume next
'säger att exekvering 
'fortsätter efter fel
  conn.execute
  if err.number = 80004005 then
     response.write 'Käck text'
     err.clear
'tar bort fel
  end if
  on error goto 0
'exekvering avbryts vid fel

------------------
essentitia preter non sans multiplicandum

Medlem sedan dec. 19996 721 inlägg
#3

Jodå


on error resume next

'kod som kan ge fel

if err.number=felets felkod then
response.write "Öh!"
end if

Men, det är bättre att se till att felet inte kan uppstå.

Medlem sedan dec. 20002 526 inlägg
#4

vet inte om detta kan hjälpa dig, men jag gjorde så här vid koll av användarnamn att kolla om det redan finns.... vet inte, men testa:

<%
Set Databas = Server.CreateObject("ADODB.Connection")
Set rsKolla = Server.CreateObject("ADODB.Recordset")
MdbFilePath="d:\home\groda\database\users.mdb"
Databas.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ= " & MdbFilePath & ";"
SQL2 = "select 1 from users where username = '" & request.form("Username") & "' and id <> " & session("id")
rsKolla.Open SQL2, Databas
if rsKolla.Eof then

SQL = "UPDATE users SET Username = '" & request.form("Username") & "', Password = '" & request.form("Password") & "', Namn = '" & request.form("Namn") & "', Efternamn = '" & request.form("Efternamn") & "', Mobil = '" & request.form("Mobil") & "', Bor = '" & request.form("Bor") & "', bilder = '" & request.form("bilder") & "', Fakta = '" & request.form("Fakta") & "' WHERE id = " & session("id")
Databas.Execute(SQL)
%>

<%
else
Response.write request.form("Username") & " är upptaget, välj ett annat "
end if
%>

------------------
www.groda.net *kvack*, *kvack*

Medlem sedan mars 20002 836 inlägg
#5

Hello,

det är som emission sa:

Men, det är bättre att se till att felet inte kan uppstå.

Det är vid sådana här problem som ADODB.Recordset kommer till användning.
Kolla in koden under:

'diverse connection kod som jag ej skriver ut --

Dim strSQL
Dim objRS
Dim strUserName
Dim strPwd

strUserName = Request.Form("Username")
strPwd = Request.Form("Password")

strSQL = "SELECT FLD_USER_NAME, FLD_USER_PWD " & _
	"FROM TBL_MEMBERS " & _
	"WHERE FLD_USER_NAME = '" & strUserName & "'"

Set objRS = Server.CreateObject("ADODB.Recordset")
	objRS.Open strSQL, objConn, 3, 3

		If objRS.EOF Then
		'## -- lägg till ny användare --
		objRS.AddNew
			objRS("FLD_USER_NAME") = strUserName
			objRS("FLD_USER_PWD") = strPwd
			objRS.Update
		Else
			'## -- användarnamnet redan upptaget --
			Response.Write "Användarnamnet du valt är upptaget."
		End If

	objRS.Close
Set objRS = Nothing

'fortsättning av övrig kod --

[r]
såg att lösenordet skickades med vid sökning vilket det inte ska vara ... =)

cya,

------------------
Ingenting är omöjligt.
Det omöjliga tar bara något längre tid att genomföra.

[Redigerat av PatrikB den 21 mar 2001]

[Redigerat av PatrikB den 21 mar 2001]

262 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)