webForumDet fria alternativet

Uppdatera eller skapa ny post (Recordset)

ASP

2 svar · 249 visningar · startad av Fraggel

Medlem sedan sep. 2003301 inlägg
Frågan#1

Jag vill med följane:

Antingen skapa en ny post (update=False) eller uppdatera en gammal post (update=True)

Funkar inte jag vet att jag antagligen fular till det med objRs.Update... Men her löser jag detta

  Function write_art(ID, desc, art, update)
    Dim t_html
    Dim SQL
    ConnectToDb(database)
    If update Then 
      SQL = "SELECT * FROM art WHERE ID=" & ID & ";"
      objRs.Open SQL,objConn,1,2
    Else   
      objRs.Open "art",objConn,1,2
      objRs.AddNew
    End If  
      objRs("ID")       = ID
      objRs("art_desc") = desc 
      objRs("art")      = art
      If update Then 
        o bjRs("edited")  = Now()
        objRs("editor")  = Session("usr_ID")
      Else
        objRs("created")  = Now()
        objRs("creator")  = Session("usr_ID")
      End If
    objRs.Update
    t_html = ID & br & desc & br & art & br &_
             "Artikel data basen uppdaterad!" & br
    objRs.Close
    objConn.Close
   write_art = t_html
  End Function
Medlem sedan dec. 20003 887 inlägg
#2

Får du något felmeddelande? (Vad är det som inte fungerar?)

Istället för att använda metoderna i recordset för att modifiera databasen skulle jag istället använda SQL-satser, men det är ju inget måste ;)

Din funktion skulle i min version se ut såhär...

Function WriteArticle(lngID, strDesc, strArt, IsUpdate)
  Dim strHtml, strSql

  ConnectToDb(database)

  If IsUpdate Then 
    strSQL = "UPDATE art SET art_desc = '" & strDesc & "', art = '" & strArt & _
             "', edited = #" & Now() & "#, editor = " & Session(usr_ID") & " WHERE ID = " & lngID
  Else
    strSQL = "INSERT INTO art (art_desc, art, created, creator) VALUES " & _
             "('" & strDesc & "', '" & art & "', #" & Now() & "#, " & lngID & ")"
  End If  

  objConn.Execute strSql, , 128

  strHtml = lngID & br & strDesc & br & strArt & br &_
             "Artikel data basen uppdaterad!" & br

  objRs.Close
  objConn.Close

  WriteArticle = strHtml
End Function
Medlem sedan sep. 2003301 inlägg
#3

Sorry det föll bort i mitt inlägg...

Error Type:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E2F)
[Microsoft][ODBC Microsoft Access Driver]Error in row
/rtv2/config.asp, line 184

*** objRs.Update *** är rad 184 (se script ovan)

264 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849
126 ms — deklarationer (db)
0 ms — hämta statistik (cache)
134 ms — hämta tråd, inlägg och bilagor (db)
125 ms — ändringar (db)