Avatar billede firewall_ Nybegynder
07. juli 2002 - 03:00 Der er 24 kommentarer og
1 løsning

Update virker ikke :(

<!--#include file="protect.inc"-->
<!--#include file="dataconn.inc"-->
<%
strGame = Session("ID")
If Request.ServerVariables("REQUEST_METHOD") = "POST" Then
Set rs = Server.CreateObject("ADODB.RecordSet")
strSQL = "SELECT * FROM clans WHERE id LIKE '%" & StrGame & "%'"
rs.Open strSQL, myConn

strclanname = Request.Form("clanname")
strtag = Request.Form("tag")
strgame = Request.Form("game")
strgame1 = Request.Form("game1")
strgame2 = Request.Form("game2")
strgame3 = Request.Form("game3")
strcountry = Request.Form("country")
strhomepage = Request.Form("homepage")
strnick = Request.Form("nick")
strclanleader = Request.Form("clanleader")
stremail = Request.Form("email")
strserver = Request.Form("server")
strchan = Request.Form("chan")
strusername = Request.Form("username")
strpassword = Request.Form("password")

strSQL = "UPDATE clans SET "
strSQL = strSQL & "clanname='" & strclanname & "',"
strSQL = strSQL & "tag='" & strtag & "',"
strSQL = strSQL & "game='" & strgame & "',"
strSQL = strSQL & "game1='" & strgame1 & "',"
strSQL = strSQL & "game2='" & strgame2 & "',"
strSQL = strSQL & "game3='" & strgame3 & "',"
strSQL = strSQL & "country='" & strcountry & "',"
strSQL = strSQL & "homepage='" & strhomepage & "',"
strSQL = strSQL & "nick='" & strnick & "',"
strSQL = strSQL & "clanleader='" & strclanleader & "',"
strSQL = strSQL & "email='" & stremail & "',"
strSQL = strSQL & "server='" & strserver & "',"
strSQL = strSQL & "chan='" & chan & "',"
strSQL = strSQL & "username='" & strusername & "',"
strSQL = strSQL & "password='" & strpassword & "',"


rs.Close
myConn.Close
Set rs = Nothing
Set myConn = Nothing
Response.Redirect "edit-clan.asp?msg=done"
End If
%>

den give ikke nogle fejl.. den gider bare ikke update :(

/me er ny til MySQL :)
Avatar billede gryn Nybegynder
07. juli 2002 - 03:06 #1
Du kan ikke lave en "update" med mindre, du har en "where" kommando.

Du kan f.eks. sige "update clans clanname = '" & strclanname "' where ID = 32!´"
Avatar billede -sofus- Nybegynder
07. juli 2002 - 03:07 #2
Det har han da også
Avatar billede gryn Nybegynder
07. juli 2002 - 03:07 #3
ups... der skulle have stået :
"update clans clanname = '" & strclanname & "' where ID = 32"
Avatar billede gryn Nybegynder
07. juli 2002 - 03:08 #4
Det har han da ikke
Avatar billede -sofus- Nybegynder
07. juli 2002 - 03:08 #5
SELECT * FROM clans WHERE id LIKE '%" & StrGame & "%'" <-
Avatar billede gryn Nybegynder
07. juli 2002 - 03:10 #6
eller:
"update clans SET clanname = '" & strclanname & "' where ID = 32"
Avatar billede gryn Nybegynder
07. juli 2002 - 03:13 #7
Jeg er (meget) fuld... jeg trækker mig tilbage.
Avatar billede -sofus- Nybegynder
07. juli 2002 - 03:16 #8
Nu begynder jeg at undre mig utrolig meget over koden...

strGame hvad er det ?

for den er både en session og den er også en request.form.
Avatar billede firewall_ Nybegynder
07. juli 2002 - 03:22 #9
Jeg roder en del i koden :(
Avatar billede muddi Praktikant
07. juli 2002 - 06:38 #10
kan du ikke prøve at lave en response.write på den samlede sql-forespørgsel, så vi kan se hvordan den kommer til at se ud.
Jeg må altså give gryn ret i at der ikke er nogen WHERE i hans UPDATE statement af SQL-forspørgslen.

-sofus- >> Jeg kan kun se en WHERE i hans SELECT statement!
Avatar billede muddi Praktikant
07. juli 2002 - 06:41 #11
firewall >> Hvis du ikke kan vise os dine SQL-forespørgsler bliver det lidt svært at se om det er det der er galt. Jeg er vant til at arbejde med MySQL i PHP, så din ASP-kode siger mig ærlig talt ikke så meget.

Normalt ville et UPDATE statements syntax være ala flg.:

UPDATE tabel SET felt1 = 'value1', felt2 = 'value2' ... WHERE primary_key = id;

Dit update statement ser umiddelbart ikke ud til at være af denne form!
Avatar billede firewall_ Nybegynder
07. juli 2002 - 15:30 #12
Hvordan sætter jeg WHERE ind i min update? :)
Avatar billede muddi Praktikant
07. juli 2002 - 15:51 #13
Det kan du se her: http://www.html.dk/tutorials/asp/lektion22.asp

Det er godt nok med en access-database, men dit UPDATE-statement er det samme når det er MySQL :o)

prøvede du at sætte response.write(strSQL) ind efter

strSQL = "UPDATE clans SET "
strSQL = strSQL & "clanname='" & strclanname & "',"
strSQL = strSQL & "tag='" & strtag & "',"
strSQL = strSQL & "game='" & strgame & "',"
strSQL = strSQL & "game1='" & strgame1 & "',"
strSQL = strSQL & "game2='" & strgame2 & "',"
strSQL = strSQL & "game3='" & strgame3 & "',"
strSQL = strSQL & "country='" & strcountry & "',"
strSQL = strSQL & "homepage='" & strhomepage & "',"
strSQL = strSQL & "nick='" & strnick & "',"
strSQL = strSQL & "clanleader='" & strclanleader & "',"
strSQL = strSQL & "email='" & stremail & "',"
strSQL = strSQL & "server='" & strserver & "',"
strSQL = strSQL & "chan='" & chan & "',"
strSQL = strSQL & "username='" & strusername & "',"
strSQL = strSQL & "password='" & strpassword & "',"


og husk lige at sætte en ' så den ikke response.redirecter !
Avatar billede muddi Praktikant
07. juli 2002 - 15:53 #14
Prøv dette:


strSQL = "UPDATE clans SET "
strSQL = strSQL & "clanname='" & strclanname & "',"
strSQL = strSQL & "tag='" & strtag & "',"
strSQL = strSQL & "game='" & strgame & "',"
strSQL = strSQL & "game1='" & strgame1 & "',"
strSQL = strSQL & "game2='" & strgame2 & "',"
strSQL = strSQL & "game3='" & strgame3 & "',"
strSQL = strSQL & "country='" & strcountry & "',"
strSQL = strSQL & "homepage='" & strhomepage & "',"
strSQL = strSQL & "nick='" & strnick & "',"
strSQL = strSQL & "clanleader='" & strclanleader & "',"
strSQL = strSQL & "email='" & stremail & "',"
strSQL = strSQL & "server='" & strserver & "',"
strSQL = strSQL & "chan='" & chan & "',"
strSQL = strSQL & "username='" & strusername & "',"
strSQL = strSQL & "password='" & strpassword & "',"
strSQL = strSQL & " Where Id = " & id ' rettes lige til, så det passer til din tabel :o)
Avatar billede muddi Praktikant
07. juli 2002 - 15:54 #15
hov, du har vidst også lige et komma for meget med til sidst i dit statement:


strSQL = "UPDATE clans SET "
strSQL = strSQL & "clanname='" & strclanname & "',"
strSQL = strSQL & "tag='" & strtag & "',"
strSQL = strSQL & "game='" & strgame & "',"
strSQL = strSQL & "game1='" & strgame1 & "',"
strSQL = strSQL & "game2='" & strgame2 & "',"
strSQL = strSQL & "game3='" & strgame3 & "',"
strSQL = strSQL & "country='" & strcountry & "',"
strSQL = strSQL & "homepage='" & strhomepage & "',"
strSQL = strSQL & "nick='" & strnick & "',"
strSQL = strSQL & "clanleader='" & strclanleader & "',"
strSQL = strSQL & "email='" & stremail & "',"
strSQL = strSQL & "server='" & strserver & "',"
strSQL = strSQL & "chan='" & chan & "',"
strSQL = strSQL & "username='" & strusername & "',"
strSQL = strSQL & "password='" & strpassword & "'"
strSQL = strSQL & " Where Id = " & id ' rettes lige til, så det passer til din tabel :o)
Avatar billede muddi Praktikant
07. juli 2002 - 15:54 #16
MEN jeg er MEGET interesseret i at se hvordan hele din forespørgsel kommer til at se ud, inden den sendes til mysql!!!
Avatar billede muddi Praktikant
07. juli 2002 - 15:57 #17
Du mangler vidst også:

rs.Execute(strSQL)

inden du lukker forbindelsen til databasen ... men jeg har desværre ikke så meget styr på ASP, så jeg kan ikke finde ud af så meget der... jeg kan stort set kun hjælpe med at debugge din SQL! *GG*
Avatar billede muddi Praktikant
07. juli 2002 - 15:58 #18
Har du selv skrevet hele scriptet, eller er det flere scripts du har sat sammen?
Avatar billede firewall_ Nybegynder
07. juli 2002 - 18:36 #19
Jeg har lavet lidt om på min script :)
donno om det er rigtigt.. jeg er en n00b til MySQL :o

<!--#include file="protect.inc"-->
<!--#include file="dataconn.asp"-->
<%
strclanname = Request.Form("clanname")
strtag = Request.Form("tag")
strgame = Request.Form("game")
strgame1 = Request.Form("game1")
strgame2 = Request.Form("game2")
strgame3 = Request.Form("game3")
strcountry = Request.Form("country")
strhomepage = Request.Form("homepage")
strnick = Request.Form("nick")
strclanleader = Request.Form("clanleader")
stremail = Request.Form("email")
strserver = Request.Form("server")
strchan = Request.Form("chan")
strusername = Request.Form("username")
strpassword = Request.Form("password")
strID = Request.Form("ID")

strSQL = "UPDATE clans SET "
strSQL = strSQL & "clanname='" & strclanname & "',"
strSQL = strSQL & "tag='" & strtag & "',"
strSQL = strSQL & "game='" & strgame & "',"
strSQL = strSQL & "game1='" & strgame1 & "',"
strSQL = strSQL & "game2='" & strgame2 & "',"
strSQL = strSQL & "game3='" & strgame3 & "',"
strSQL = strSQL & "country='" & strcountry & "',"
strSQL = strSQL & "homepage='" & strhomepage & "',"
strSQL = strSQL & "nick='" & strnick & "',"
strSQL = strSQL & "clanleader='" & strclanleader & "',"
strSQL = strSQL & "email='" & stremail & "',"
strSQL = strSQL & "server='" & strserver & "',"
strSQL = strSQL & "chan='" & chan & "',"
strSQL = strSQL & "username='" & strusername & "',"
strSQL = strSQL & "password='" & strpassword & "'"
strSQL = strSQL & " Where Id = & strID & "'"
%>

'Test Stuff :)
<% =StrID %>
men den update bare ikke :(
Avatar billede muddi Praktikant
08. juli 2002 - 03:10 #20
du mangler altså også at execute din forespørgsel!
Avatar billede muddi Praktikant
08. juli 2002 - 03:11 #21
Har du arbejdet med andre databaser i ASP før?
Avatar billede firewall_ Nybegynder
08. juli 2002 - 04:05 #22
ja men der lavet jeg det på en anden måde :)

det virker bare ikke med mySQL :(
Avatar billede muddi Praktikant
08. juli 2002 - 04:08 #23
Se lige på http://www.html.dk/tutorials/asp/lektion22.asp hvordan du exekverer din forespørgsel!

Hvis den ikke bliver exekveret betyder det, at den aldrig bliver sendt til MySQL, og derfor bliver der heller ikke opdateret noget i databasen!
Avatar billede firewall_ Nybegynder
08. juli 2002 - 04:16 #24
nu virker den

1000 tak for hjælpen muddi :)
Avatar billede muddi Praktikant
08. juli 2002 - 04:25 #25
Jamen det var da så lidt - er glad på dine vegne :D
Nu tror jeg sgu jeg vil lave et par hakkebøffer til natmad *mums*
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester