Jag har den här koden för att lägga in kompisar i en databas men felet är att man kan lägga in samma kompis hur många gånger som hälst. Så en IF sats som stoppar det skulle vara en bra lösning tror jag. Jag började men insåg att jag var långt ifrån en lösning. <!-- #include file="adovbs.inc" --> Du har bara öppnat en databas och satt nästan allt fel . Det vill säjja att om du tittar på min kod så hör vissa saker till db.mdb och vissa till friends.mdb du har mixa allltihop till en databar Varför har du inte bara en databas. Att öppna två databaser tar mer prestanda och resurser än att använda en databas. Det innäbär oxå att du inte kan skapa refrerns integritet mellan olika tabeller. Har fått din kod uppdaterad. mMen det är nått som är fel Alternativ lösning: Jag antar ID1 och ID2 är tal. Eller är det så att det är textfält. Du måste veta vad du gör. Du kan ju kontrroller värderna du bifgar. Tack för dom två sista inläggen som fick mig att förstå vad som var fel och hur jag skulle lösa det. Jag höll på att försöka lösa det igår själv innan jag skickade in den sista koden men glömde att he ut bara en ' men nu när jag sitter och beskådar koden ser jag att jag måste ha ett ' före nästa = i en av raderna. Tack så mycket för hjälpen och erat tålamod med mig. Är nog svårt att klara (LOL)IF sats
<!-- #include file="adovbs.inc" -->
<%
If Session("login") <> "ok" Then
Session("meddelande") = "Du har antingen blivit utloggad eller så har du inte loggat in!"
Response.Redirect "login.asp"
End If
%>
<%
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/db.mdb")&";"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "Select * From tblUsers Where ID=" &Request.QueryString("ID2")
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
username = RecSet("username")
RecSet.Close
Connect.Close
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/friends.mdb")&";"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "Select * From friends"
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
if Username <> then respose.write("Du är redan kompis med X") ;<-------- Min if sats
else
RecSet.AddNew
RecSet("ID1") = Session("ID")
RecSet("ID2") = Request.QueryString("ID2")
RecSet("username") = username
RecSet.Update
RecSet.Close
Connect.Close
Set RecSet = nothing
Set Connect = nothing
Response.Redirect "vanster_online.asp"
%>
</table>
</DIV>Sv: IF sats
<%
If Session("login") <> "ok" Then
Session("meddelande") = "Du har antingen blivit utloggad eller så har du inte loggat in!"
Response.Redirect "login.asp"
End If
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/db.mdb")&";"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "SELECT * FROM friends WHERE ID1 = " & Session("ID") & " AND ID2 = " & Request.QueryString("ID2")
RecSet.Open Addera, Connect
If RecSet.EOF Then
RecSet.Close
Set RecSet = nothing
Addera = "INSERT INTO friends (ID1, ID2, username) SELECT " & Session("ID") & ", ID, username FROM tblUsers WHERE ID = " & Request.QueryString("ID2")
Connect.Execute Addera
Connect.Close
Set Connect = nothing
Response.Redirect "vanster_online.asp"
Else
respose.write "Du är redan kompis med " & RecSet("username")
RecSet.Close
Set RecSet = nothing
Connect.Close
Set Connect = nothing
End If
%>
</table>
</DIV>Sv: IF sats
Sv: IF sats
Jag ser i ditt fall använda inga fördelar med att använda två databaser som skulle motivera nackdelarna det innebär.
Jag är inte här för att programmer åt dig. Jag delar med mig av min erfarenhet.
Jag visade en lösning som jag skulle utföra det. Sedan är det du som avgör om du vill använda dig av den. Du får då anpassa den till din database osv. Om det är något du undrar över min lösning kan du ställa fråger så ska jag så gott jag kan förklara.Sv: IF sats
Microsoft OLE DB Provider for ODBC Drivers error '80040e07'
[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.
/muffinman/db/Acomunity/add_friend.asp, line 23
<!-- #include file="adovbs.inc" -->
<%
If Session("login") <> "ok" Then
Session("meddelande") = "Du har antingen blivit utloggad eller så har du inte loggat in!"
Response.Redirect "login.asp"
End If
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/db.mdb")&";"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "Select * From tblUsers Where ID=" &Request.QueryString("ID2")
RecSet.Open Addera, Connect, adOpenStatic, adLockOptimistic
username = RecSet("username")
RecSet.Close
Connect.Close
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/friends.mdb")&";"
Addera = "SELECT * FROM friends WHERE ID1 = " & Session("ID") & " AND ID2 = " & Request.QueryString("ID2")&";"
RecSet.Open Addera, Connect
If RecSet.EOF Then
RecSet.Close
Set RecSet = nothing
Addera = "INSERT INTO friends (ID1, ID2, username) SELECT " & Session("ID") & ", ID, username FROM tblUsers WHERE ID = " & Request.QueryString("ID2")
Connect.Execute Addera
Connect.Close
Set Connect = nothing
Response.Redirect "vanster_online.asp"
Else
respose.write "Du är redan kompis med " & username
RecSet.Close
Set RecSet = nothing
Connect.Close
Set Connect = nothing
End If
%>Sv: IF sats
<code>
<!-- #include file="adovbs.inc" -->
<%
If Session("login") <> "ok" Then
Session("meddelande") = "Du har antingen blivit utloggad eller så har du inte loggat in!"
Response.Redirect "login.asp"
End If
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/db.mdb")&";"
Addera = "Select * From tblUsers Where ID='" & Replace(Request.QueryString("ID2"), "'", "''") & "'"
Set RecSet = Server.CreateObject("ADODB.Recordset")
RecSet.Open Addera, Connect
username = RecSet("username")
RecSet.Close
Connect.Close
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/friends.mdb")&";"
Addera = "SELECT * FROM friends WHERE ID1 = '" & Session("ID") & "' AND ID2 = '" & Replace(Request.QueryString("ID2"), "'", "''") & "'"
RecSet.Open Addera, Connect, adOpenKeyset, adLockOptimistic
If RecSet.EOF Then
RecSet.AddNew
RecSet("ID1") = Session("ID")
RecSet("ID2") = Request.QueryString("ID2")
RecSet("username") = username
RecSet.Update
Response.Redirect "vanster_online.asp"
Else
respose.write "Du är redan kompis med """ & username & """"
End If
RecSet.Close
Set RecSet = nothing
Connect.Close
Set Connect = nothing
%>
</table>
</DIV>
</code>Sv: IF sats
<!-- #include file="adovbs.inc" -->
<%
If Session("login") <> "ok" Then
Session("meddelande") = "Du har antingen blivit utloggad eller så har du inte loggat in!"
Response.Redirect "login.asp"
End If
Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/db.mdb")&";"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Addera = "Select * From tblUsers Where ID=" & Request.QueryString("ID2")
RecSet.Open Addera, Connect
username = RecSet("username")
RecSet.Close
Connect.Close
Connect.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & Server.MapPath("db/friends.mdb")&";"
Addera = "SELECT * FROM friends WHERE ID1 = " & Session("ID") & " AND ID2 = " & Request.QueryString("ID2") & ";"
RecSet.Open Addera, Connect
If RecSet.EOF Then
RecSet.Close
Set RecSet = nothing
Addera = "INSERT INTO friends (ID1, ID2, username) VALUES (" & Session("ID") & ", " & Request.QueryString("ID2") & ", '" & Replace(username, "'", "''") & "')"
Connect.Execute Addera
Connect.Close
Set Connect = nothing
Response.Redirect "vanster_online.asp"
Else
respose.write "Du är redan kompis med " & username
RecSet.Close
Set RecSet = nothing
Connect.Close
Set Connect = nothing
End If
%>Sv: IF sats