På sidan jag håller på med ska användarna kunna ändra sitt medlemsnamn om dom vill. Detta medlemsnamn är det som syns när dom gör ett gästboks inlägg, postar en nyhet osv., och ska då alltså ändras där också när dom ändrar medlemsnamnet. Detta ligger då sparat i olika tabeller i databasen. Jag har inte sovit ordentligt på ett par dygn så jag kanske har missupfattat dig, och förstår inte varför du jobbar på det viset. Men det aldrig bra programmering att lägga in samma information på en massa olika platser i en databas, då menar jag användarnamnet i ett forum. IDt är till för att problem som detta inte ska uppstå eftersom det är unikt. Det borde alltid finnas EN användartabell där info om användaren finns och BARA IDt används för att referera till användaren i andra tabeller.Behöver lite hjälp med en Update sats.
Jag har inte några problem med att få namnet ändrat i de olika tabellerna i databasen när jag avänder ex. detta för nyhets tabellen:
<code>
Conn.Execute "UPDATE member_news SET postAuth = '" & Trim(playerName) & "' WHERE postAuth = '" & Trim(oldPlayerName) & "'"
</code>
Variablen "playerName" innehåller det nya medlemsnamnet som tas från en Request.Form, och oldPlayerName tas från en cookie.
Ok, så långt allt väl eftersom det funkar. Problemet uppkommer när dom ex. kallar sig Kalle Balle och ändrar sitt namn till Kalle, eftersom satsen ovan ändrar hos ALLA som kallar sig något med Kalle!
Jag kan inte använda mig av deras id nummer eftersom det inte sparas i alla tabeller utan måste gå efter namnet.
Har även provat en del med ex. ...WHERE postAuth LIKE '%oldPlayerName%'" med samma irreterande resultat :(
Så min fråga är: hur kör jag denna sats så den bara ändrar där "oldPlayerName" är EXAKT lika med det tidigare namnet? Det är ju dom irreterande mellanslagen i namnen som fördärvar alltihop :(
Tackar på förhand.
TotteSv: Behöver lite hjälp med en Update sats.
Det vore ju mycket enklare för dig själv om du använde en join-stats för att hämta namnet istället (via IDt), då behöver du ju bara ändra användarnamnet på ett enda ställe så fixar det sig själv på alla andra sidor.
det var det..
men har du testat
WHERE postAuth LIKE '%oldPlayerName%'"
fast utan %-tecken?