evilaidMedlem sedan apr. 2009433 inlägg Hej..
Sitter med en enkel sql sats men får bara att det är syntax fel..
Jag har skrivit ut sql satsen på sidan för att titta på den och den ser ut så här..
UPDATE news SET subject='Full fart', text='hej hej ' WHERE (ID =330)
använder jag en db manager så fungerar ju ovanstående sql uttryck att exekvera men inte på sidan med asp koden, då är det istället syntax fel..
Databasen är access 2003..
allt annat fungerar så som att hämta data m.m.
Mvh
LarsGMedlem sedan dec. 200012 464 inlägg Då är det nog ett problem med som hör hemma i ASP. Har du skrivit ut frågan efter det att du har substituerat in värdet för ID? Ett vanligt fel är att den variabeln inte innehåller något värde.
evilaidMedlem sedan apr. 2009433 inlägg jag exekverar sql satsen precis som den står ovan, alltså jag skriver ut den utan att hämta variabler eller lilnande.
Alltså: con.execute("UPDATE news SET subject='Full fart', text='hej hej ' WHERE (ID=330) ")
trodde att det kanske var namnen på kolumnerna som spökade så jag satte klamrar runt dem.
con.execute("UPDATE news SET [subject]='Full fart', [text]='hej hej ' WHERE (ID=330)")
Men det hjälpte inte heller
Vad får du för fel då? kontrollera att fälten faktiskt finns i tabellen news.
Peter SMedlem sedan dec. 20025 483 inlägg Vad säger det exakta felmeddelandet?
"Text" är ett reserverat ord så det är rätt att sätta hakparenteser kring det ordet.
Testa att ta bort parenteserna kring ID=330.
evilaidMedlem sedan apr. 2009433 inlägg Med hakparanteser:
Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][Drivrutin för ODBC Microsoft Access] Operationen måste använda en fråga som kan uppdateras.
/hullert/secret/admin.asp, line 496
Utan hakparanteser:
Feltyp:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel i UPDATE-uttryck.
/hullert/secret/admin.asp, line 496
Tar jag bort paranteserna så gör det ingen skillnad..
Koden
Set con = Server.CreateObject("ADODB.Connection")
x = Server.MapPath("base.mdb")
Con.open "driver={Microsoft Access Driver (*.mdb)};dbq= " & x & " "
SQL = "UPDATE news SET subject='hej', text='test' WHERE id=329"
response.Write sql
set db = con.execute(sql)
db.close
Peter SMedlem sedan dec. 20025 483 inlägg Kontrollera rättigheterna på mdb-filen. Den användare som din webbplats körs som måste ha skrivrättigheter på den. Se http://www.pellesoft.se/communicate/faq/faq.aspx?tid=676
evilaidMedlem sedan apr. 2009433 inlägg Har kollat det men jag har också en sida för att sapra ny poster i databasen och det fungerar utan problem??
UPDATE news SET subject='hej', [text]='test' WHERE id=329
Skall vara rätt, om du har rätt typer på dina fält + att dom finns i din tabell "news"
evilaidMedlem sedan apr. 2009433 inlägg Precis kravlat upp från golvet nu... Jag gav upp det projektet..
Typerna var rätt och dem finn si tabellen...
Tack ändå för era försök..
vad är/var det för datatyper på subject, test och id?
Jag har provat att skapa en tabell med namnet news:
Räknare - Id
text - text
text - subject
och det genererade inte till något fel, har du satt id:t till en text eller liknande?