Hej Kolla om fältet är text eller tal, är det text ska du har fnuttar som nu, annars inte. Det mest troliga är att clientid inte innehåller något. Men testa att skriva ut innehållet i SQL, då ser du fort vad som är fel. Hej Löst Jo, det får förekomma (men det kan ställa till mycket problem som du märkt), du måste omge det med hakparenteser:Problem med SQL UPDATE
Vill uppdatera en post i tabellen tbclients med ett "nytt" password. Värden skickas me dPOSt från ett formulär. Värdet från clientid kommer från ett räknarfält i tabellen tbclients och är numeriskt, troligen det som strular till det ??.
Jag får SYNTAXFEL vid körning av nedanstående testkod.
Byter jag ut clientid mot något annat värde i andra fält i samma tabell så funkar det att uppdatera.
Men jag vill nyttja clientid eftersom det är unikt.
Hoppas jag inte blev alltför luddig?
<%
NewPass = Request.Form("newpass")
clientid = Request.QueryString("cid")
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath("meny.mdb")
SQL = "UPDATE tbclients SET password = '"&NewPass&"' WHERE clientid = "&clientid
Conn.Execute(SQL)
Conn.Close
Set Conn = Nothing
%>
mvh
TorbjörnSv: Problem med SQL UPDATE
Sv: Problem med SQL UPDATE
Response.Write SQL
/JohanSv:Problem med SQL UPDATE
Ändrade lite i koden
Hämtar clientid via sessionsvariabel istället, fortfarande numeriskt.
clientid = Session("cid")
Output från databasen visar att clientid där är numerisk.
Har testat med fnuttar och utan, dvs &'"clientid"'&"
Tar jag ett annat textbaserat fält som identierare så funkar det. clientid innehåller ett numerisk värde hämtat via en databaskoppling i formuläret, så det är testat åxå.
Några tips om konverteringar av variabeln clientid ??
Fattar inte varför det inte vill ??
mvh
TorbjörnSv: Problem med SQL UPDATE
Fältnamnet "Password" får tydligen inte förekomma i databasen.
/TSv:Problem med SQL UPDATE
SQL = "UPDATE tbclients SET [password] = '"&NewPass&"' WHERE clientid = "&clientid
/Johan