eriksMedlem sedan apr. 20011 418 inlägg Hej igen,
Nu har jag fel på min SQL-fråga. Så här ser det ut:
SQLStmt1 = "UPDATE Order2 Set O_Datum = #" & CDate(request("datum")) & "# WHERE O_ordernr=" & Request.Querystring("ID") & ""
Set RS1 = Connection.Execute(SQLStmt1)
Jag får inget felmeddelande. Men det uppdateras inte. Tabellen heter Order2, fältet O_Datum, formuläret jag hämtar från datum, resp. ID, och O_ordernr är också rätt, så jag misstänker att det är något fel i datum-formen. Man ska väl skriva så med # ? Har testat med och utan, Cdate, händer inget!
Någon som vet? MVH Erik
UlfTMedlem sedan maj 20018 027 inlägg Re: sql-fråga med datum
eriks skrev:
Man ska väl skriva så med # ?
Det brukar variera mellan olika databashanterare.
@ndersMedlem sedan juni 200032 969 inlägg Re: Re: sql-fråga med datum
UlfT skrev:
Det brukar variera mellan olika databashanterare.
Riktigt. Om man använder Access är det # som gäller för datum, annars apostrofer.
eriks: Skriv ut den färdiga SQL-frågan istället för att exekvera den, så är det lättare att felsöka.
eriksMedlem sedan apr. 20011 418 inlägg Hej! Såhrär blir det om jag skriv ut frågan:
UPDATE Order2 Set O_Datum = #2005-10-22# WHERE O_ordernr=5020272
Det ser ju helt rätt ut tycker jag! Men det ändras inte. Och kommer inget felmeddelande!
@ndersMedlem sedan juni 200032 969 inlägg Och du är säker på att ordernumret 5020272 stämmer?
eriksMedlem sedan apr. 20011 418 inlägg Ja. Jag har även en annan sql- som ser ut:
SQLStmt7 = "UPDATE Order2 Set O_Pris = '" & pris & "' WHERE O_ordernr=" & Request.Querystring("ID") & ""
Set RS7 = Connection.Execute(SQLStmt7)
När jag skriver ut den får jag:
UPDATE Order2 Set O_Pris = '1691' WHERE O_ordernr=5020272
Och den ändras! Och där är 10 andra som ändras. Bara datumet som inte ändras. Vad kan möjligtvis vara fel?
@ndersMedlem sedan juni 200032 969 inlägg Får man fråga varför du använder massor av update-frågor istället för att uppdatera alla fält i samma SQL-fråga?
Du råkar inte ha on error resume next i din kod?
eriksMedlem sedan apr. 20011 418 inlägg Tillägas kan detta. Kolla i inlägg tidigare. Där står att jag får ut:
UPDATE Order2 Set O_Datum = #2005-10-22# WHERE O_ordernr=5020272
Datumet 2005-10-22 är det jag har lagt in i formuläret, det är alltså det som datumet ska ändras till. Men det går inte in i databasen!
eriksMedlem sedan apr. 20011 418 inlägg Visst får man fråga det! Det är för att jag inte är så vass på asp, och kör kod som jag vet fungerar (alltså ofta inte så effektiv). Hur gör man för att uppdatera alla?
Jag har ingen on error resume next. Tycker att detta är ett riktigt mysterie! Men SQL-frågan är ju rätt, var kan då problemet vara, det är ju ganska specifikt nu! Jag tycker det är tokigt.
Tackar för all hjälp hittills
@ndersMedlem sedan juni 200032 969 inlägg Det är bara att lägga in allt som ska uppdateras i SQL-frågan enligt följande:
UPDATE tabell SET fält1 = 'värde1', fält2 = 2, fält3 = #2002-02-02# WHERE något=1
Jag antar att du använder Access. Hur går det om du kör SQL-frågan direkt i programmet? Får du något felmeddelande då?
eriksMedlem sedan apr. 20011 418 inlägg Vet inte hur man gör det! Ledtråd? =)
@ndersMedlem sedan juni 200032 969 inlägg Mitt Access är på engelska, men något sånt härnt:
Öppna databasen. Klicka på "Frågor" -> Skapa fråga i designläge.
Stäng konstiga popuprutor, klicka på ikonen längst upp till vänster under "Arkiv"-menyn, välj SQL. Klistra in SQL-frågan. Exekvera med det röda utropstecknet.
eriksMedlem sedan apr. 20011 418 inlägg Det går alldeles utmärkt att göra det direkt i access! Mystiken tätnar! Detta är otroligt
OveRRidEMedlem sedan feb. 200112 078 inlägg Varför har du 'Set' framför din exekvering? Frågan returnerar ju inget ändå.
@ndersMedlem sedan juni 200032 969 inlägg
eriks skrev:
Det går alldeles utmärkt att göra det direkt i access! Mystiken tätnar! Detta är otroligt
Du kör alltså exakt samma fråga i access, och det fungerar, men inte om du exekverar den från en asp-sida?
eriksMedlem sedan apr. 20011 418 inlägg Helt rätt @nders, så är det!
@ndersMedlem sedan juni 200032 969 inlägg Har du satt ihop allt till en enda UPDATE nu? Om inte föreslår jag att du gör det. :)
mvh