07. juni 2006 - 09:25Der er
17 kommentarer og 1 løsning
ASP loop/Insert problem
Hejsa NG.
Jeg bruger følgende kode til at trække noget ud fra en tabel som skal over i en anden tabel. Problemet er, at når jeg trykker på knappen i formen så sætter koden, hvis der er flere felter, det hele ind i én tabel adskilt med komma. Jeg vil gerne at formen som bliver loop'et også bliver sat ind i nye felter hver for sig.
Nogen der kan hjælpe?: <% strSQL = "SELECT * FROM commentsnyhed WHERE nyhedid LIKE '" & Request.QueryString("id") & "'" Set rsNews = objConn.Execute(strSQL)
Set conn = Server.CreateObject("ADODB.Connection") Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.Mappath("../db/data.mdb") if Request("emne") <> "" AND Request("indhold") <> "" AND Request("forfatter") <> "" AND Request("forumid") <> "" AND Request("forumtopic") <> "" AND Request("dato") <> "" AND Request("avatar") <> "" AND Request("replyid") <> "" AND Request("newxcommentid") <> "" then
mon ikke hvis du skifter ud indtil rs.close med følgende...
strSQL = "SELECT * FROM commentsnyhed WHERE nyhedid LIKE '" & Request.QueryString("id") & "'" Set rsNews = objConn.Execute(strSQL)
Set conn = Server.CreateObject("ADODB.Connection") Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.Mappath("../db/data.mdb") if Request("emne") <> "" AND Request("indhold") <> "" AND Request("forfatter") <> "" AND Request("forumid") <> "" AND Request("forumtopic") <> "" AND Request("dato") <> "" AND Request("avatar") <> "" AND Request("replyid") <> "" AND Request("newxcommentid") <> "" then
Ja, det er forumkode.. Så teksten kan sagtens indeholde komma'r?
Grunden til min kode er at jeg gerne vil have samlet alle kommentarer jeg nu har på siden, til et stort forum. Men det tager sgu lang tid hvis jeg selv skal indsætte alle sammen.
Du skal nok også flytte dit start form-tag ud af løkken (der hvor du genererer formularen)... ellers får du (potentielt) mange forms som ikke bliver lukket.
<% strSQL = "SELECT * FROM commentsnyhed WHERE nyhedid LIKE '" & Request.QueryString("id") & "'" Set rsNews = objConn.Execute(strSQL) strSQL2 = "select count(*) As found from commentsnyhed WHERE nyhedid LIKE '"&Request.QueryString("id")&"'" set rsAntal = objCOnn.execute(strSQL2)
Set conn = Server.CreateObject("ADODB.Connection") Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.Mappath("../db/data.mdb") if Request("emne") <> "" AND Request("indhold") <> "" AND Request("forfatter") <> "" AND Request("forumid") <> "" AND Request("forumtopic") <> "" AND Request("dato") <> "" AND Request("avatar") <> "" AND Request("replyid") <> "" AND Request("newxcommentid") <> "" then
Set rs = Server.CreateObject("ADODB.Recordset") sql = "select * from forumindlaeg" rs.open sql, conn, 1, 3
rs.update next rs.close set rs = Nothing Response.Write("Done!") end if i = 0 response.write "<form method=""post"" action="""">" Do While not rsNews.EOF
Jeg tror du skal ændre strategien lidt. Du skal nok have et indeks på de enkelte felter, så du kan adskille dem fra hinanden. Dette indeks kan du så aflæse felterne med (kombinationen af feltnavnet og indekset bliver til et entydigt felt i formularen). Noget i stil med dette:
<% strSQL = "SELECT * FROM commentsnyhed WHERE nyhedid LIKE '" & Request.QueryString("id") & "'" Set rsNews = objConn.Execute(strSQL)
Set conn = Server.CreateObject("ADODB.Connection") Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="& Server.Mappath("../db/data.mdb")
Set rs = Server.CreateObject("ADODB.Recordset") sql = "select * from forumindlaeg" rs.open sql, conn, 1, 3
continueSaving = true i = 0 while continueSaving
if Request("emne" & i) <> "" _ AND Request("indhold" & i) <> "" _ AND Request("forfatter" & i) <> "" _ AND Request("forumid" & i) <> "" _ AND Request("forumtopic" & i) <> "" _ AND Request("dato" & i) <> "" _ AND Request("avatar" & i) <> "" _ AND Request("replyid" & i) <> "" _ AND Request("newxcommentid" & i) <> "" then
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.