webForumDet fria alternativet

Datum/tid & SQL UPDATE & snurra

ASP

27 svar · 508 visningar · startad av CatZ · sida 2 av 2

Frågan, av CatZ

while not rs.eof response.write "<tr class=td2>" & "<td align=right>Spelkv&auml;ll 1</td>" & "<td><select name=dag>" & "<option>.: V&auml;lj Dag :.</option>" & "<option value=Måndag" If rs("dag") = "Måndag" Then response.write " Selected" response.write ">Måndag</option>" & "<option value=Tisdag" If rs("dag") = "Tisdag" Then response.write " Selected" response.write ">Tisdag</option>

Läs frågan i sin helhet →
Medlem sedan jan. 20022 440 inlägg
#21

LarsG: sättet fungerar utmärkt, det är bara ett problem, när jag har mer än enspelkväll sätts alla spelkvällar och tider in i varje dag och tid. Dvs alla dagar och alla tider sätts in på det KrID och dagID som passar in på beskrivningen, går det att dela upp det på något sätt ?

Se koden överst.

Medlem sedan juni 200032 967 inlägg
#22

Posta mer kod, gärna hela IF - Else - End if-blocket, och markera vilken rad du får felet på.

Mvh,

Medlem sedan jan. 20022 440 inlägg
#23
<%
		Case "ak"
		If session.Contents("Admin") = Empty Then
		Response.Redirect("/login.asp")
		End If
		Set rs = Server.CreateObject("ADODB.Recordset")
		SQL = "SELECT KrNamn, KrLan, KrGata, KrEpost,KrMpnID, KrLank, KrPostnr, KrSommar, KrStad, KrTele, klubbar.KrID, dag, tid, dagID, kbdag.KrID  FROM klubbar INNER JOIN kbdag" & _
		" ON klubbar.KrID = kbdag.KrID" & _
		" WHERE Klubbar.KrId =" & Request.QueryString("id") & "  AND kbdag.KrID =" & Request.Querystring("id")
		rs.Open SQL, dbCom, 3, 3
	%>
<form action="admin_klubbar.asp?cmd=aks&id=<%= rs("klubbar.KrID")%>" method="post">
                <table width="100%" border="0" cellpadding="3" cellspacing="0" class="table">
                  <tr align="center"> 
                    <td colspan="4" class="td1">L&auml;gg till ny klubb</td>
                  </tr>
                  <tr class="td2"> 
                    <td align="right">Län</td>
                    <td><select name="KrLan">
                        <option value="">-- V&auml;lj L&auml;n --</option>
                        <option value="Blekinge" <% If rs("KrLan") = "Blekinge" Then Response.Write "Selected"%>>Blekinge</option>
                        <option value="Kalmar"<% If rs("KrLan") = "Kalmar" Then Response.Write "Selected"%>>Kalmar</option>
                        <option value="Kronoberg"<% If rs("KrLan") = "Kronoberg" Then Response.Write "Selected"%>>Kronoberg</option>
                      </select></td>
                    <td align="right">Länk till hemsida</td>
                    <td><input name="KrLank" type="text" value="<%=rs("KrLank")%>"></td>
                  </tr>
                  <tr class="td2"> 
                    <td align="right">Namn</td>
                    <td><input name="KrNamn" type="text" value="<%=rs("KrNamn")%>"></td>
                    <td align="right">ID på Medlem på Nätet</td>
                    <td><input name="KrMpnID" type="text" value="<% if cdbl(rs("KrMpnID"))=0  then response.write "" else response.write rs("KrMpnID") %>"></td>
                  </tr>
                  <tr class="td2"> 
                    <td align="right">Gata</td>
                    <td><input name="KrGata" type="text" value="<%=rs("KrGata")%>"></td>
                    <td align="right">Epost</td>
                    <td><input name="KrEpost" type="text" value="<%=rs("KrEpost")%>"></td>
                  </tr>
                  <tr class="td2"> 
                    <td align="right">Postnr</td>
                    <td><input name="KrPostnr" type="text" size="5" maxlength="5" value="<% if cdbl(rs("KrPostnr"))=0  then response.write "" else response.write rs("KrPostnr") %>"></td>
                    <td align="right">SommarBridge?</td>
                    <td><input name="KrSommar" type="checkbox" value="Ja" <%If rs("KrSommar") = "Ja" Then Response.Write " checked"%>></td>
                  </tr>
                  <tr class="td2"> 
                    <td align="right">Stad</td>
                    <td><input name="KrStad" type="text" value="<%=rs("KrStad")%>"></td>
                    <td align="right">Kontakt Telefon</td>
                    <td><input name="KrTele" type="text" value="<%=rs("KrTele")%>"></td>
                  </tr>
                  <% 
				  	if rs.eof = true then
					response.write "Inga spelkvällar"
					else
					while not rs.eof
				  	response.write "<tr class=td2>" & _
                    "<td align=right>Spelkv&auml;ll 1</td>" & _
                    "<td><select name=dag>" &_
                        "<option value="""">.: V&auml;lj Dag :.</option>" & _
                       	"<option value=Måndag"
						If rs("dag") = "Måndag" Then response.write " Selected"
						response.write ">Måndag</option>" & _
                       	"<option value=Tisdag"
						If rs("dag") = "Tisdag" Then response.write " Selected"
						response.write ">Tisdag</option>" & _
                       	"<option value=Onsdag"
						If rs("dag") = "Onsdag" Then response.write " Selected"
						response.write ">Onsdag</option>" & _
                       	"<option value=Torsdag"
						If rs("dag") = "Torsdag" Then response.write " Selected"
						response.write ">Torsdag</option>" & _
                       	"<option value=Fredag"
						If rs("dag") = "Fredag" Then response.write " Selected"
						response.write ">Fredag</option>" & _
                        "<option value=Lördag"
						If rs("dag") = "Lördag" Then response.write " Selected"
						response.write ">Lördag</option>" & _
                       	"<option value=Söndag"
						If rs("dag") = "Söndag" Then response.write " Selected"
						response.write ">Söndag</option>" & _
                      "</select>" & _
                      "Tid: " & _
                      "<input name=tid type=text size=5 maxlength=5 value=" & rs("tid") & "></td>" & _
                    "<td><input name=dagid type=hidden value=" & rs("dagID") & "></td>" & _
                    "<td></td>" & _
                  "</tr>"
				 	rs.movenext
					wend
					end if
				%>
				  <tr class="td2"> 
                    <td align="right"></td>
                    <td></td>
                    <td><input type="submit" class="submit" value="Skicka"></td>
                    <td>&nbsp; </td>
                  </tr>
                </table>
</form>
<%
		Case "aks"
		If session.Contents("Admin") = Empty Then
		Response.Redirect("/login.asp")
		End If
		If Request.Form("KrPostnr") = "" Then
		NyttPostnr = "0"
		Else
		NyttPostnr = Request.Form("KrPostnr")
		End If
		If Request.Form("KrMpnID") = "" Then
		NyttMpnID = "0"
		Else
		NyttMpnID = Request.Form("KrMpnID")
		End If		
		SQL = "UPDATE Klubbar SET" & _
		" KrLan = '" & Request.Form("KrLan") & "', " & _
		" KrNamn = '" & Request.Form("KrNamn") & "', " & _
		" KrGata = '" & Request.Form("KrGata") & "', " & _
		" KrPostnr = " & NyttPostnr & ", " & _
		" KrStad = '" & Request.Form("KrStad") & "', " & _
		" KrTele = '" & Request.Form("KrTele") & "', " & _
		" KrLank = '" & Request.Form("KrLank") & "', " & _
		" KrMpnID = " & NyttMpnID & ", " & _
		" KrEpost = '" & Request.Form("KrEpost") & "', " & _
		" KrSommar = '" & Request.Form("KrSommar") & "' " & _
		" WHERE KrID = " & Request.Querystring("id")				
		dbCom.Execute SQL,,128
			SQL2 = "UPDATE kbdag SET" & _
			" dag = '" & Request.Form("dag") & "', " & _
			" tid = '" & Request.Form("tid") & "' " & _
			" WHERE KrID = " & Request.Querystring("id") & " AND dagID IN ("  & Request.Form("dagID") & ")"	
			dbCom.Execute SQL2,,128
			'response.write sql2
		response.redirect("admin_klubbar.asp")
	%>

Så ser koden ut och det är två saker som inte vill fungera.

1. Jag måste ha en spelkväll för att kunna updatera informationen om klubben med formuläret ovan annars får jag bara att EOF = TRUE

2. Om en klubb har två spelkvällar så blir det två stycken dag och tid, då sparas båda spelkvällarna och tiderna i båda raderna i databasen, det står då Måndag, Tisdag i dag fältet och 1830, 1830 i tid kolumnen... hur löser man det?

Medlem sedan juni 200032 967 inlägg
#24

CatZ skrev:

LarsG: sättet fungerar utmärkt, det är bara ett problem, när jag har mer än enspelkväll sätts alla spelkvällar och tider in i varje dag och tid. Dvs alla dagar och alla tider sätts in på det KrID och dagID som passar in på beskrivningen, går det att dela upp det på något sätt ?

Se koden överst.

Om det är olika värden som ska uppdateras på de olika posterna så måste du ställa en update-fråga per spelkväll.

I övrigt, med mitt förra inlägg menade jag den if-sats där du lade in kollen på eof där du fick felmeddelandet.

Mvh,

Medlem sedan jan. 20022 440 inlägg
#25

@nders, jag tror jag struntar i det helt enkelt och låter dem välja att uppdatera 1 spelkväll åt gången :)

Medlem sedan jan. 20022 440 inlägg
#26

Men det hjälper fortfarande inte... hur ser jag till att rs inte är eof ?

Medlem sedan juni 200032 967 inlägg
#27

RS är inte EOF om det finns något i det. Alltså måste du se till att SQL-frågan levererar något svar om inte recordsetet skall vara end of file.

Om det inte var det du menade så försöker jag förklara igen.

If RS.EOF then
     Response.write "Fanns ju inget!!!"
Else
    ' Här gör du alla andra saker som du ska göra om det finns 
    ' en spelkväll eller vad det nu är för något.
End If

Se till att du inte försöker anropa något fält i recordsetet utanför denna if-sats.

Mvh,

Medlem sedan jan. 20022 440 inlägg
#28

usch då... får väl göra 2 stycken SQL anrop iså fall... eller göra om databasen lite :r

253 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
121 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)