Multidesk.be » Forums » ASP » User id veranderen (gesloten)

Helpinformatie
Dit onderwerp bevindt zich in het archief.
Het is bijgevolg niet mogelijk er nog op te reageren.
  • Pagina
  • 1 van 1
  • RSS
  • Eerste ongelezen reactie
  • Plaats een reactie
  • Abonneer mij
  • Onderwerp sluiten
0 gasten lezen dit onderwerp.
^ Onderwerp geschreven door Bert op dinsdag 24 februari 2004 om 21:22:47.
Bert's avatar
Multiviteit: 545
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
Eumh ik heb deze code:
CODE
  1. <%
  2. 'We stellen de database in
  3. dim strConn
  4. strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/database.mdb")
  5.  
  6. 'We maken de connectie met de database
  7. dim adoCn
  8. dim strSQL
  9. set adoCn = Server.CreateObject("ADODB.Connection")
  10. adoCn.Open strConn
  11.  
  12. 'We stellen de sql code in voor te opvraging van de gegevens
  13. dim adoRs
  14. set adoRs = Server.CreateObject("ADODB.Recordset")
  15. strSQL = "Select * From tblTopics WHERE Categorie =" & Request.QueryString("Categorie") & ""
  16. set adoRs = adoCn.Execute(strSQL)
  17. %>
  18. <!--#include file="header.inc" -->
  19. <% Do While Not adoRs.EOF %>
  20. <%=adoRs("ID")%> <%=adoRs("Categorie")%> <%=adoRs("Text")%>
  21. <div align="center">
  22. <table width="56%" border="1">
  23. <tr>
  24. <td width="58%"><%=adoRs("Titel")%></td>
  25. <td width="42%"><%=adoRs("UserID")%></td>
  26. </tr>
  27. <tr>
  28. <td>
  29. <%adoRs.MoveNext%>
  30. </td>
  31. <td>&nbsp;</td>
  32. </tr>
  33. </table>
  34. </div>
  35. <% Loop %>
  36. <!--#include file="footer.inc" -->
  37. <%
  38. 'We sluiten de connectie met de database
  39. adoRs.Close
  40. set adoRs = nothing
  41.  
  42. adoCn.Close
  43. set adoCn = nothing
  44. %>

en dit geeft dit effect.
Nu wil ik dat die 1 veranderd wordt door de naam van de persoon. De 1 is de User id van de persoon met de naam admin.
Nu moet ik dus een tweede query invoeren of iets, maar snap hier niets van, kan iemand mij helpen?
^ Reactie #1 geschreven door Martijn op dinsdag 24 februari 2004 om 11:10:07.
Martijn heeft nog geen avatar toegevoegd
Multiviteit: 13785
Beheerder
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
Creeër gewoon een tweede recordset:

CODE
  1. dim adoRs2
  2. dim strSQL2
  3.  
  4. set adoRs2 = Server.CreateObject("ADODB.Recordset")
  5.  
  6. strSQL2 = "Select * From tblTopics t, tblUsers u WHERE u.id = " & adoRs("uid")
  7.  
  8. set adoRs2 = adoCn.Execute(strSQL2)


Dit moet je natuurlijk wel binnen je lus zetten aangezien deze query uitgevoerd moet worden voor elke topic en bij elke topic de poster potentieel verschillend is.
Kijk ook even je veld- en tabelnamen na, aangezien iik er maar enkele voorbeeldnamen heb voor genomen.
Met vriendelijke groeten,
Martijn Wouters
^ Reactie #2 geschreven door Bert op dinsdag 24 februari 2004 om 11:21:34.
Bert's avatar
Multiviteit: 545
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
Nog snap ik dit niet.
Wat bedoel je met in de lus te zetten.
en ik snap niet waarvoor die t's en u's voor staan?
Als ik dit doe geeft hij ook een foutmelding naar de sql query.
^ Reactie #3 geschreven door Martijn op dinsdag 24 februari 2004 om 11:27:31.
Martijn heeft nog geen avatar toegevoegd
Multiviteit: 13785
Beheerder
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid

Dixit

Bert schreef:
Nog snap ik dit niet.
Wat bedoel je met in de lus te zetten.
en ik snap niet waarvoor die t's en u's voor staan?
Als ik dit doe geeft hij ook een foutmelding naar de sql query.


Zet die code in uw <% Do While Not adoRs.EOF %> lus.

Die t & u zijn afkortingen voor je tabelnamen en zijn niet noodzakelijk, maar gewoon handig als je ooit met grotere queries zou werken, is meer een (zeer goede) gewoonte eigenlijk ;-)

Welke foutmelding krijg je nog?
Met vriendelijke groeten,
Martijn Wouters
^ Reactie #4 geschreven door Bert op dinsdag 24 februari 2004 om 11:40:47.
Bert's avatar
Multiviteit: 545
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
Nu heb ik dit al:

CODE
  1.  
  2. <%
  3. 'We stellen de database in
  4. dim strConn
  5. strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("db/database.mdb")
  6.  
  7. 'We maken de connectie met de database
  8. dim adoCn
  9. dim strSQL
  10. set adoCn = Server.CreateObject("ADODB.Connection")
  11. adoCn.Open strConn
  12.  
  13. 'We stellen de sql code in voor te opvraging van de gegevens
  14. dim adoRs
  15. set adoRs = Server.CreateObject("ADODB.Recordset")
  16. strSQL = "Select * From tblTopics WHERE Categorie =" & Request.QueryString("Categorie") & ""
  17. set adoRs = adoCn.Execute(strSQL)
  18.  
  19. %>
  20. <!--#include file="header.inc" -->
  21. <% Do While Not adoRs.EOF %>
  22. <%
  23. dim adoRs2
  24. dim strSQL2
  25. set adoRs2 = Server.CreateObject("ADODB.Recordset")
  26. strSQL2 = "Select * From tblTopics t, tblUsers u WHERE u.id = " & adoRs("ID")
  27. set adoRs2 = adoCn.Execute(strSQL2)
  28. %>
  29. <%=adoRs("ID")%> <%=adoRs("Categorie")%> <%=adoRs("Text")%>
  30. <div align="center">
  31.   <table width="56%" border="1">
  32.     <tr>
  33.       <td width="58%"><%=adoRs("Titel")%></td>
  34.       <td width="42%"><%=adoRs("UserID")%></td>
  35.     </tr>
  36.     <tr>
  37.       <td>
  38.         <%adoRs.MoveNext%>
  39.       </td>
  40.       <td>&nbsp;</td>
  41.     </tr>
  42.   </table>
  43. </div>
  44. <% Loop %>
  45. <!--#include file="footer.inc" -->
  46. <%
  47. 'We sluiten de connectie met de database
  48. adoRs.Close 
  49. set adoRs = nothing
  50.  
  51. adoCn.Close 
  52. set adoCn = nothing
  53. %>
  54.  


Nu geeft hem al geen foutmeldingen, maar nog altijd wordt het niet vervangen. Ik denk dat ik fout maak door iets niet de juiste naam te geven, maar weet niet welk.
^ Reactie #5 geschreven door Martijn op dinsdag 24 februari 2004 om 11:51:06.
Martijn heeft nog geen avatar toegevoegd
Multiviteit: 13785
Beheerder
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
Natuurlijk moet je nu wel doen

CODE
  1. AdoRS2("gebruikersnaam") ipv adoRs("UserID")


Zet ook even
CODE
  1. dim adoRs2
  2.  
  3.  dim strSQL2
  4.  
  5.  set adoRs2 = Server.CreateObject("ADODB.Recordset") 
buiten je lus, moet er eigenlijk voor niets instaan en vergeet ook je nieuwe recordset niet te sluitejn onderaan je pagina
Met vriendelijke groeten,
Martijn Wouters
^ Reactie #6 geschreven door Bert op dinsdag 24 februari 2004 om 12:43:52.
Bert's avatar
Multiviteit: 545
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
Merci , martijn is de man oley oley! :D
^ Reactie #7 geschreven door Bridge_Burner op dinsdag 24 februari 2004 om 13:28:59.
Bridge_Burner heeft nog geen avatar toegevoegd
Multiviteit: 404
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
uhm waarom da ni :

- connectie open
- sql query die die lus vervangt (gaat toch in één sql query zekerst :p )
- uw recordset naar een array schrijven met GetRows
- connectie sluiten
- uwen array aflopen voor af te drukken :)

das 'maar' een performantiewinst van 5000% ofzo :p
^ Reactie #8 geschreven door Martijn op dinsdag 24 februari 2004 om 13:33:53.
Martijn heeft nog geen avatar toegevoegd
Multiviteit: 13785
Beheerder
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid

Dixit

Bridge_Burner schreef:
uhm waarom da ni :

- connectie open
- sql query die die lus vervangt (gaat toch in één sql query zekerst :p )
- uw recordset naar een array schrijven met GetRows
- connectie sluiten
- uwen array aflopen voor af te drukken :)

das 'maar' een performantiewinst van 5000% ofzo :p


Omdat een query in een query(al dan niet inner join) te moeilijk was om te begrijpen, ik weet welk niveau van ASP er gezien is en daarom dat ik het zo omslachtig geef (daarom kan je ook begrijpen waarom er elke keer <%= %> wordt gebruikt ;-))

NOFI Bert :-)
Met vriendelijke groeten,
Martijn Wouters
^ Reactie #9 geschreven door Bert op dinsdag 24 februari 2004 om 13:37:00.
Bert's avatar
Multiviteit: 545
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
Waarom niet?

Wel omdat ik van asp echt wel ni veel ken.
En ook omdat het iet is wat da wij voor t school moeten maken. (niet betaald) mer ze willen wel iets fatsoenlijk om echt te gaan gebruiken dus..
Fuck school!!!
^ Reactie #10 geschreven door Bridge_Burner op dinsdag 24 februari 2004 om 17:06:43.
Bridge_Burner heeft nog geen avatar toegevoegd
Multiviteit: 404
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
héhé :)
^ Reactie #11 geschreven door Dendeze op dinsdag 24 februari 2004 om 20:07:22.
Dendeze's avatar
Multiviteit: 1695
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid
Dees week wordt de ASP week in Multidesk :p
want er zullen er nog volgen

Dendeze
^ Reactie #12 geschreven door Martijn op dinsdag 24 februari 2004 om 21:22:47.
Martijn heeft nog geen avatar toegevoegd
Multiviteit: 13785
Beheerder
  • Bewerken
  • Citeren
  • Reageren
  • Verwijderen
  • Waarschuw een crewlid

Dixit

Dendeze schreef:
Dees week wordt de ASP week in Multidesk :p
want er zullen er nog volgen

Dendeze


Onthou wel: op dat vlak zullen er strenge regels moeten worden nageleefd: wij gaan niemand's huiswerk of eindwerk maken aangezien de bedoeling van deze laatsten dan totaal wegvalt ;-)
Met vriendelijke groeten,
Martijn Wouters
  • Pagina
  • 1 van 1
  • RSS
  • Eerste ongelezen reactie
  • Plaats een reactie
  • Abonneer mij
  • Onderwerp sluiten