Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Uppdatera objGetData("datum") till NOW [löst]

Postades av 2002-08-29 19:00:00 - Johan Svensson, i forum asp - allmänt, Tråden har 20 Kommentarer och lästs av 553 personer

Jag har problem med att uppdatera ett "datetime"-fält vid namn "datum" i en mysql-databas till dagens datum i format av typ: yyyy-mm-dd hh:mm:ss.

Får fram detta felmeddelandet när jag kör sidan:

<code>
ADODB.Field fel '800a0cb3'

The operation requested by the application is not supported by the provider.

/community1/aaa/login_check.asp, rad 34
</code>


Koden:
<code>

objGetData("datum") = Now
RecSet.Update
</code>


...Så vad är det som är fel?


Svara

Sv: Uppdatera objGetData("datum") till NOW

Postades av 2002-08-29 21:15:07 - Pelle Johansson

försök undvika att använda reserverade ord som datum, döp istället fältet till actualdate eller currentdate eller orderdate osv. Nu vet jag inte om MySQL har fältet datum som reserverat ord..

/Pelle


Svara

Sv: Uppdatera objGetData(

Postades av 2002-08-29 21:43:10 - Johan Svensson

har nu bytt namn på fätet till "actualdate" men det hjälper inte får ändå samma felmeddelande. Fältet är av typ datetime.

Här är sidans hela kod:
<code>
<%
Set objCon = Server.CreateObject("ADODB.Connection")
objCon.Open "databasen"
Set objGetData=objCon.Execute("SELECT * FROM members")


Dim poang
'----- Rensar bort sånna som inte loggat ut korrekt.. -------

Do Until objGetData.EOF

If objGetData("status") = "1" AND DateDiff("n", objGetData("actualdate"), Now) > 45 Then
objGetData("status") = "0"
objGetData.Update
End If

objGetData.MoveNext
Loop

objGetData.Close

'---------------- SLUT PÅ UTRENSNINGEN ------------------

objGetData.Open

Do Until objGetData.EOF

If objGetData("username") = Request.Form("username") AND objGetData("losen") = Request.Form("losen") Then

objGetData("actualdate") = Now
objGetData("status") = "1"
objGetData("poang") = objGetData("poang")+1

RecSet.Update

Session("namn") = objGetData("fnamn") & " " & objGetData("enamn")
Session("fnamn") =objGetData("fnamn")
Session("enamn") = objGetData("enamn")
Session("username") = objGetData("username")
Session("login") = "ok"
Session("id") = objGetData("id")
Session("status") = "1"
Session("epost") = objGetData("epost")

Session.TimeOut = 40 '<-- Kontrollera



objGetData.Close

Set objGetData = Nothing

Set objCon = Nothing

Response.Redirect "inne.asp"

End If

objGetData.MoveNext
Loop

objGetData.Close

Set objGetData = Nothing

Set objCon = Nothing

Session("meddelande") = "Tyvärr! Fel användarnamn eller lösenord. Försök igen!"
Response.Redirect "default.asp"

%>
</code>


Svara

Sv: Uppdatera objGetData(

Postades av 2002-08-29 23:05:53 - Andreas Hillqvist

Beror på att du inte har ett rediger bart recordset. Du måste öppna det med adLockOptimistic och adOpenKeyset:
<code>
<%
Function SQLDate(Value)
If IsDate(Value) Then
SQLDate = "'" & Month(Value) & "/" & Day(Value) & "/" & Year(Value) & " " & Hour(Value) & ":" & Minute(Value) & ":" & Second(Value) & "'"
Else
SQLDate = "Null"
End If
End Function

Function SQLText(Value)
If Len(Value) Then
SQLText = "'" & Replace(Value, "'", "''") & "'"
Else
SQLText = "Null"
End If
End Function


Const adOpenKeyset= 1
Const adLockOptimistic = 3


Set objCon = Server.CreateObject("ADODB.Connection")
objCon.Open "databasen"


Dim poang
'----- Rensar bort sånna som inte loggat ut korrekt.. -------

objCon.Execute "UPDATE members SET status = '0' WHERE status = '1' AND actualdate < " & SQLDate(DateAdd("n", -45, Now))

'---------------- SLUT PÅ UTRENSNINGEN ------------------

objGetData.Open "SELECT * FROM members WHERE username =" & SQLText(Request.Form("username")) & " AND losen = " & SQLText(Request.Form("losen")), objCon, adOpenKeyset, adLockOptimistic

If objGetData.EOF Then
Session("meddelande") = "Tyvärr! Fel användarnamn eller lösenord. Försök igen!"
Response.Redirect "default.asp"
Else
objGetData("actualdate") = Now
objGetData("status") = "1"
objGetData("poang") = objGetData("poang")+1

RecSet.Update

Session("namn") = objGetData("fnamn") & " " & objGetData("enamn")
Session("fnamn") =objGetData("fnamn")
Session("enamn") = objGetData("enamn")
Session("username") = objGetData("username")
Session("login") = "ok"
Session("id") = objGetData("id")
Session("status") = "1"
Session("epost") = objGetData("epost")

Session.TimeOut = 40 '<-- Kontrollera

Response.Redirect "inne.asp"
End If

objGetData.Close
Set objGetData = Nothing

objCon.Close
Set objCon = Nothing

%>
</code>


Svara

Sv: Uppdatera objGetData(

Postades av 2002-08-30 14:19:02 - Johan Svensson

Ändrade till det du skrev men får då upp felmeddelandet:

<code>
Körningsfel i Microsoft VBScript fel '800a01a8'

Objekt krävs.: 'objGetData'

/community1/aaa/login_check.asp, rad 34
</code>


...så vad är det som är fel?

Undrar också varför det just står "1" och "3":
<code>
Const adOpenKeyset= 1
Const adLockOptimistic = 3
</code>


Svara

Sv: Uppdatera objGetData(

Postades av 2002-08-30 14:23:33 - Johan Djupmarker

Set objGetData = Server.CreateObject("ADODB.Recordset")

Lägg till denna raden innan raden där felet uppstår.

/Johan


Svara

Sv: Uppdatera objGetData(

Postades av 2002-08-30 14:51:49 - Andreas Hillqvist

Missade ju det. ;O)


Svara

Sv: Uppdatera objGetData(

Postades av 2002-08-30 15:49:30 - Johan Svensson

Tackar!!!

Nu är det inget fel på rad 34 i alla fall.

Men nu får jag upp detta felmeddelandet istället:
<code>
Körningsfel i Microsoft VBScript fel '800a01a8'

Objekt krävs.: 'RecSet'

/community1/aaa/login_check.asp, rad 44
</code>


Det som står på rad 34 är "RecSet.Update"


Svara

Sv: Uppdatera objGetData(

Postades av 2002-08-30 15:59:02 - Johan Djupmarker

Det borde stå "objGetData.Update" istället...

/Johan


Svara

Sv: Uppdatera objGetData(

Postades av 2002-08-30 16:04:11 - Johan Svensson

Jag testade med "objGetData.Update" istället men fick då felmeddelandet:
<code>
Microsoft OLE DB Provider for ODBC Drivers fel '80004005'

Query based update failed. The row to update could not be found.

/community1/aaa/login_check.asp, rad 44
</code>


Svara

Sv: Uppdatera objGetData(

Postades av 2002-08-31 15:56:30 - Johan Svensson

Koden ser alltså ut så här nu:

<code>
<%
Function SQLDate(Value)
If IsDate(Value) Then
SQLDate = "'" & Month(Value) & "/" & Day(Value) & "/" & Year(Value) & " " & Hour(Value) & ":" & Minute(Value) & ":" & Second(Value) & "'"
Else
SQLDate = "Null"
End If
End Function

Function SQLText(Value)
If Len(Value) Then
SQLText = "'" & Replace(Value, "'", "''") & "'"
Else
SQLText = "Null"
End If
End Function


Const adOpenKeyset= 1
Const adLockOptimistic = 3


Set objCon = Server.CreateObject("ADODB.Connection")
objCon.Open "databasen"


Dim poang
'----- Rensar bort sånna som inte loggat ut korrekt.. -------

objCon.Execute "UPDATE members SET status = '0' WHERE status = '1' AND actualdate < " & SQLDate(DateAdd("n", -45, Now))

'---------------- SLUT PÅ UTRENSNINGEN ------------------
Set objGetData = Server.CreateObject("ADODB.Recordset")
objGetData.Open "SELECT * FROM members WHERE username =" & SQLText(Request.Form("username")) & " AND losen = " & SQLText(Request.Form("losen")), objCon, adOpenKeyset, adLockOptimistic

If objGetData.EOF Then
Session("meddelande") = "Tyvärr! Fel användarnamn eller lösenord. Försök igen!"
Response.Redirect "default.asp"
Else
objGetData("actualdate") = Now
objGetData("status") = "1"
objGetData("poang") = objGetData("poang")+1

objGetData.Update

Session("namn") = objGetData("fnamn") & " " & objGetData("enamn")
Session("fnamn") =objGetData("fnamn")
Session("enamn") = objGetData("enamn")
Session("username") = objGetData("username")
Session("login") = "ok"
Session("id") = objGetData("id")
Session("status") = "1"
Session("epost") = objGetData("epost")

Session.TimeOut = 40 '<-- Kontrollera

Response.Redirect "inne.asp"
End If

objGetData.Close
Set objGetData = Nothing

objCon.Close
Set objCon = Nothing

%>
</code>

...när jag kör sidan så får jag alltså fram felmeddelandet:

<code>
Microsoft OLE DB Provider for ODBC Drivers fel '80004005'

Query based update failed. The row to update could not be found.

/community1/aaa/login_check.asp, rad 44
</code>



Någon måste väll vet vad det är för fel. Har försökt fatta men näää... fattar inte vad felet är.

Kan det vara någon felinställning i MySql kanske, tja inte vet jag.

Hjälp mig, snälla , någon?


Svara

Sv: Uppdatera objGetData(

Postades av 2002-08-31 17:55:58 - Andreas Hillqvist

Gissar på att tabellen saknar primär nyckel. Om den gör det. Så bör det fungera om du lägger till en primärnyckel.


Svara

Sv: Uppdatera objGetData(

Postades av 2002-08-31 18:12:12 - Hendrik Olsson

Du saknade
objGetData.addnew i din else sats
prova detta
// henke
<code>
<%
Function SQLDate(Value)
If IsDate(Value) Then
SQLDate = "'" & Month(Value) & "/" & Day(Value) & "/" & Year(Value) & " " & Hour(Value) & ":" & Minute(Value) & ":" & Second(Value) & "'"
Else
SQLDate = "Null"
End If
End Function

Function SQLText(Value)
If Len(Value) Then
SQLText = "'" & Replace(Value, "'", "''") & "'"
Else
SQLText = "Null"
End If
End Function


Const adOpenKeyset= 1
Const adLockOptimistic = 3


Set objCon = Server.CreateObject("ADODB.Connection")
objCon.Open "databasen"


Dim poang
'----- Rensar bort sånna som inte loggat ut korrekt.. -------

objCon.Execute "UPDATE members SET status = '0' WHERE status = '1' AND actualdate < " & SQLDate(DateAdd("n", -45, Now))

'---------------- SLUT PÅ UTRENSNINGEN ------------------
Set objGetData = Server.CreateObject("ADODB.Recordset")
objGetData.Open "SELECT * FROM members WHERE username =" & SQLText(Request.Form("username")) & " AND losen = " & SQLText(Request.Form("losen")), objCon, adOpenKeyset, adLockOptimistic

If objGetData.EOF Then
Session("meddelande") = "Tyvärr! Fel användarnamn eller lösenord. Försök igen!"
Response.Redirect "default.asp"
Else
objGetData.addnew ' måste skapa en ny rad innan du lägger in
objGetData("actualdate") = Now
objGetData("status") = "1"
objGetData("poang") = objGetData("poang")+1

objGetData.Update

Session("namn") = objGetData("fnamn") & " " & objGetData("enamn")
Session("fnamn") =objGetData("fnamn")
Session("enamn") = objGetData("enamn")
Session("username") = objGetData("username")
Session("login") = "ok"
Session("id") = objGetData("id")
Session("status") = "1"
Session("epost") = objGetData("epost")

Session.TimeOut = 40 '<-- Kontrollera

Response.Redirect "inne.asp"
End If

objGetData.Close
Set objGetData = Nothing

objCon.Close
Set objCon = Nothing

%>
</code>


Svara

Sv: Uppdatera objGetData(

Postades av 2002-08-31 18:14:32 - Hendrik Olsson

glöm det jag skrev läste inte igenom hela coden
:(


Svara

Sv: Uppdatera objGetData(

Postades av 2002-08-31 18:29:42 - Johan Svensson

Trotts att du skrev att jag skulle strunta i det så testade jag det du skrev.
och allt blev då som jag ville förutom att det bildades en ny rad i databasen.

Fälten uppdaterades och det kom inte upp något felmeddelande.
Men som sagt det bildades en ny rad där fälten "actualdate", "status" och poang hade de uppgifter som det var meningen att bara den rad med rätt username och losen skulle ha.

Men det var i alla fall bra att den rad med rätt username och losen uppdaterades med de nya uppgifterna.

Men jag vill ju som sagt inte att det skall bildas en ny rad.

Sökte lite för att hitta något exempel på mySQL och asp med update, hittade dessa adresser:
http://www.aspwebpro.com/aspscripts/records/update.asp
http://www.learnasp.com/learn/FAQdbSinglequote.asp
http://www.devarticles.com/content.php?articleId=50&page=5

Man kanske skall skriva något annat än just addnew?
...men vad?

...Eller man kanske är tvungen att skriva en SQL-rad för att updatera.


Svara

Sv: Uppdatera objGetData(

Postades av 2002-09-01 11:50:38 - Johan Svensson

Kolla även:

http://www.pellesoft.nu/development/forum/view.asp?msgid=26038&forumid=1

och:

http://www.pellesoft.nu/development/forum/view.asp?msgid=29496&forumid=1


Svara

Sv: Uppdatera objGetData(

Postades av 2002-09-01 12:02:37 - Andreas Hillqvist

Har du en primär nyckel på tabellen?


Svara

Sv: Uppdatera objGetData(

Postades av 2002-09-01 12:50:26 - Johan Svensson

Japp men det hjälper ej.


Svara

Sv: Uppdatera objGetData(

Postades av 2002-09-01 13:38:06 - Johan Svensson

Så ja. nu vet jag i alla fall att det går att updatera endast den raden och "datum"-fältet.

Med denna kod så updateras fältet:

<%

dim adoConn
dim adoRS
dim strQuery

set adoConn = Server.CreateObject("ADODB.Connection")
adoConn.Open "DSN=databasen"
strQuery = "UPDATE members SET datum = '2004-04-04 04:04:04' WHERE username = 'lumba'"

adoConn.Execute strQuery

%>

...så om någon som har lite mer koll än jag kanske kan förklara hur man kan använda något från denna koden för att få den andra att fungera så vore jag glad.


Svara

Sv: Uppdatera objGetData(

Postades av 2002-09-01 15:50:22 - Andreas Hillqvist


<code>
<%
Function SQLDate(Value)
If IsDate(Value) Then
SQLDate = "'" & Month(Value) & "/" & Day(Value) & "/" & Year(Value) & " " & Hour(Value) & ":" & Minute(Value) & ":" & Second(Value) & "'"
Else
SQLDate = "Null"
End If
End Function

Function SQLText(Value)
If Len(Value) Then
SQLText = "'" & Replace(Value, "'", "''") & "'"
Else
SQLText = "Null"
End If
End Function


Const adOpenKeyset= 1
Const adLockOptimistic = 3


Set objCon = Server.CreateObject("ADODB.Connection")
objCon.Open "databasen"


Dim poang
'----- Rensar bort sånna som inte loggat ut korrekt.. -------

objCon.Execute "UPDATE members SET status = '0' WHERE status = '1' AND actualdate < " & SQLDate(DateAdd("n", -45, Now))

'---------------- SLUT PÅ UTRENSNINGEN ------------------
Set objGetData = Server.CreateObject("ADODB.Recordset")
objGetData.Open "SELECT * FROM members WHERE username =" & SQLText(Request.Form("username")) & " AND losen = " & SQLText(Request.Form("losen")), objCon

If objGetData.EOF Then
Session("meddelande") = "Tyvärr! Fel användarnamn eller lösenord. Försök igen!"
Response.Redirect "default.asp"
Else
strQuery = "UPDATE members SET status= '1', poang = poang + 1, datum = " & SQLDate(Now()) & " WHERE username = " & SQLText(Request.Form("username"))

Session("namn") = objGetData("fnamn") & " " & objGetData("enamn")
Session("fnamn") =objGetData("fnamn")
Session("enamn") = objGetData("enamn")
Session("username") = objGetData("username")
Session("login") = "ok"
Session("id") = objGetData("id")
Session("status") = "1"
Session("epost") = objGetData("epost")

Session.TimeOut = 40 '<-- Kontrollera

Response.Redirect "inne.asp"
End If

objGetData.Close
Set objGetData = Nothing

objCon.Close
Set objCon = Nothing

%>
</code>


Svara

Sv: Uppdatera objGetData(

Postades av 2002-09-01 17:28:09 - Johan Svensson

Jippi!!! - Det funkar nu. Tack skall ni ha.
Ett extra stort tack till Andreas Hillqvist så klart.

-----------------------------------------------------------------------------------

Fick ändra lite för att få det att fungera.

Ändrade:

If IsDate(Value) Then
SQLDate = "'" & Month(Value) & "/" & Day(Value) & "/" & Year(Value) & " " & Hour(Value) & ":" & Minute(Value) & ":" & Second(Value) & "'"

Till:

If IsDate(Value) Then
SQLDate = "'" & Year(Value) & "-" & Month(Value) & "-" & Day(Value) & " " & Hour(Value) & ":" & Minute(Value) & ":" & Second(Value) & "'"

Ändrade också:

strQuery = "UPDATE members SET status= '1', poang = poang + 1, actualdate = " & SQLDate(Now()) & " WHERE username = " & SQLText(Request.Form("username"))

Till:

objCon.Execute "UPDATE members SET status= '1', poang = poang + 1, actualdate = " & SQLDate(Now()) & " WHERE username = " & SQLText(Request.Form("username"))

-----------------------------------------------------------------------------------

Så nu ser koden ut så här:


<%
Function SQLDate(Value)
If IsDate(Value) Then
SQLDate = "'" & Year(Value) & "-" & Month(Value) & "-" & Day(Value) & " " & Hour(Value) & ":" & Minute(Value) & ":" & Second(Value) & "'"
Else
SQLDate = "Null"
End If
End Function

Function SQLText(Value)
If Len(Value) Then
SQLText = "'" & Replace(Value, "'", "''") & "'"
Else
SQLText = "Null"
End If
End Function


Const adOpenKeyset= 1
Const adLockOptimistic = 3


Set objCon = Server.CreateObject("ADODB.Connection")
objCon.Open "databasen"


Dim poang
'----- Rensar bort sånna som inte loggat ut korrekt.. -------

objCon.Execute "UPDATE members SET status = '0' WHERE status = '1' AND actualdate < " & SQLDate(DateAdd("n", -45, Now))

'---------------- SLUT PÅ UTRENSNINGEN ------------------
Set objGetData = Server.CreateObject("ADODB.Recordset")
objGetData.Open "SELECT * FROM members WHERE username =" & SQLText(Request.Form("username")) & " AND losen = " & SQLText(Request.Form("losen")), objCon

If objGetData.EOF Then
Session("meddelande") = "Tyvärr! Fel användarnamn och/eller lösenord. Försök igen!"
Response.Redirect "default.asp"
Else
objCon.Execute "UPDATE members SET status= '1', poang = poang + 1, actualdate = " & SQLDate(Now()) & " WHERE username = " & SQLText(Request.Form("username"))

Session("namn") = objGetData("fnamn") & " " & objGetData("enamn")
Session("fnamn") =objGetData("fnamn")
Session("enamn") = objGetData("enamn")
Session("username") = objGetData("username")
Session("login") = "ok"
Session("id") = objGetData("id")
Session("status") = "1"
Session("epost") = objGetData("epost")

Session.TimeOut = 40 '<-- Kontrollera

Response.Redirect "inne.asp"
End If

objGetData.Close
Set objGetData = Nothing

objCon.Close
Set objCon = Nothing

%>


Svara

Nyligen

  • 21:28 Chicken Road Casino Game
  • 21:21 1xBet Promo Code 2025
  • 18:37 Remove the bumper in AUDI
  • 15:35 Chicken road crash game
  • 21:41 Automotive Services UK
  • 20:44 Erfarenhet av CBD-olja mot sömnpro
  • 12:13 Sex Dolls for Sale
  • 19:42 Online Casinos for Haitian Players

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 930
27 965
271 780
635
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies