webForumDet fria alternativet

Finns redan i databasen

ASP

5 svar · 179 visningar · startad av Rhadez

Medlem sedan aug. 200414 inlägg
Frågan#1

Hejsan! te.x när användaren ska lägga till ngt i databasen, ifall den saken finns i databasen ska det komma upp ett meddelande typ:

Den finns redan i databasen.

//Rhadez

Medlem sedan sep. 20026 425 inlägg
#2

Om du har en kolumn i databasen som heter anvnamn så kan du köra enligt följande princip:

strSQL = "SELECT anvnamn FROM tabell WHERE anvnamn = '" & Replace(Request.Form("login_anvnamn"),"'","''") & "'"

'.. skapa nödvändiga objekt, connection och recordset

Set Rs = Cn.Execute(strSQL)

If Len(Rs("anvnamn"))>0 Then
Response.Write "Finns redan"
Else
'allt ok, fortsätt
End If

'stäng öppna objekt

Mina ASP-kunskaper börjar bli lite mossiga nu och om jag skrivit fel i exempelkoden - rätta gärna. Dock tror jag att allt är ok i koden.

Medlem sedan aug. 200414 inlägg
#3

Men ifall jag har denna kod:

<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("databas.mdb ")

SQL = "Insert Into Users(username,losen) Values('" & Request.Form("anvn") & "', '" & Request.Form("losen") & "')"

Connect.Execute SQL,,128
%>

hur lägger ja in den då?

Medlem sedan sep. 20026 425 inlägg
#4

Typ så här:

<%
Dim Connect, Rs
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("databas.mdb ")

Set Rs = Server.CreateObject("ADODB.Recordset")

strSQL = "SELECT anvnamn FROM tabell WHERE anvnamn = '" & Replace(Request.Form("anvn"),"'","''") & "'"

Rs.Open strSQL, Connect

If Not Rs.EOF Then
Response.Write "Finns redan.."
Else

SQL = "Insert Into Users(username,losen) Values('" & Request.Form("anvn") & "', '" & Request.Form("losen") & "')"

Connect.Execute SQL,,128

End If

Rs.Close : Set Rs = Nothing
Connect.Close : Set Connect = Nothing
%>

/r ändrade lite kod, kör med EOF i stället för att kolla hur stort ett fält är

Medlem sedan dec. 20025 871 inlägg
#5

Så här kanske? :)

<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "Driver={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("databas.mdb ")

'// Försök att få fram en post med samma username
Set objRS = Connect.Execute("SELECT username FROM Users WHERE username = '" & Request.Form("anvn") & "'")

'// Kolla om vi fick fram något
If objRS.EOF Then
  'Vi fick inte fram något. Fritt fram att lägga till
  SQL = "Insert Into Users(username,losen) Values('" & Request.Form("anvn") & "', '" & Request.Form("losen") & "')"
  Connect.Execute SQL,,128
Else
  'Vi fick inte fram något
End If
%>

r\ Oops. Var visst lite sen. :r Sorry, ska inte lägga mig i. :bire

Medlem sedan aug. 200414 inlägg
#6

Tack så mycket!

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