Vad har jag gjort för fel?
jag får
Microsoft VBScript compilation error '800a0400'
Expected statement
/asp/Admin/main.asp, line 217
"WHERE tblStart = " & txtStart & " , tblTopRight = " & txtTopRight & " , tblBottom = " & txtBottom & "'"
med
Dim conn, SQL
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open connstr
tblStart = Request.Form("txtStart")
tblTopRight = Request.Form("txtTopRight")
tblBottom = Request.Form("txtBottom")
SQL = "UPDATE Mainsite SET tblStart=' " & tblStart & " ', tblTopRight=' " & tblTopRight & " ', tblBottom=' " & tblBottom & " ' "
"WHERE tblStart = " & txtStart & " , tblTopRight = " & txtTopRight & " , tblBottom = " & txtBottom & "'"
'conn.Execute(SQL)
response.write(SQL)
'response.redirect "main.asp"
@ndersMedlem sedan juni 200032 969 inlägg Du kan inte i asp bara dela på strängar hur som helst, utan du måste se till att konkatenera ordentligt.
SQL = "UPDATE Mainsite SET tblStart=' " & tblStart & " ', tblTopRight=' " & tblTopRight & " ', tblBottom=' " & tblBottom & " ' " & _
" WHERE tblStart = " & txtStart & " AND tblTopRight = " & txtTopRight & " AND tblBottom = " & txtBottom & "'"
eller
SQL = "UPDATE Mainsite SET tblStart=' " & tblStart & " ', tblTopRight=' " & tblTopRight & " ', tblBottom=' " & tblBottom & " ' "
SQL = SQL & " WHERE tblStart = " & txtStart & " AND tblTopRight = " & txtTopRight & " AND tblBottom = " & txtBottom & "'"
Ska du verkligen ha mellanslag runt alla värden :q
MogMedlem sedan nov. 2003266 inlägg Kanske :OO
WHERE tblStart = " & txtStart & " AND tblTopRight = " & txtTopRight & " AND tblBottom = " & txtBottom & "'"
cyprysMedlem sedan dec. 20003 563 inlägg WHERE villkor skrivs t.ex. enligt AND och OR, inte med komman.
WHERE kol1 = 1 AND (kol2 = 5 OR kol3 = 5)
Sen om du ska ha AND eller OR vet du bara själv ;)
NU ser jag värdena i sqlsträngen, men inget läggs i databasen.
tbl är tabellkolumnen och txt är min textarea
@ndersMedlem sedan juni 200032 969 inlägg Stämmer WHERE-satsen då?
edit: Det känns också konstigt att du har apostrofer runt fältvärdena i UPDATE-delen, men inga apostrofer i WHERE på samma fält? Vad är det som gäller datatypsmässigt? Tal?
Nu har jag ' runt alla värden i Wheresatsen, men det gjorde ingen skillnad, datatypen är Text
@ndersMedlem sedan juni 200032 969 inlägg
@nders skrev:
Stämmer WHERE-satsen då?
Skriv gärna ut SQL-frågan istället för att exekvera den, då är det lättare att se vad som är galt.
så här ser det ut när jag skriver ut sqlsatsen
UPDATE Mainsite SET tblStart=' här kommer lite data ', tblTopRight=' ', tblBottom=' ' WHERE tblStart =' ', tblTopRight =' ', tblBottom =' '
När jag skriver i ett annat av de 3 fält som detta sköter så hoppar det första fältet tillbaka till den föregående sparade texten medan den andra texten läggs i sqlsatsen
jag har ett id som är primärnyckel, men hur lägger jag in den i koden
jag är bara van vid select nånting from databas where id = id
@ndersMedlem sedan juni 200032 969 inlägg UPDATE tblNånting SET fldNånting = 'nånting' WHERE ID = 4
Förutsätter ju givetvis att du skickar med ID från där du editerar texten. Passar bra att skicka i querystring eller som ett hiddenfält från formuläret.
Här är koden för att visa inne hållet i fälten:
<%
Set conn = Server.CreateObject("ADODB.connection")
Set RS = Server.CreateObject("ADODB.Recordset")
SQL = "SELECT * FROM Mainsite"
tblStart = Request.Form("txtStart")
tblTopRight = Request.Form("txtTopRight")
tblBottom = Request.Form("txtBottom")
conn.Open connstr
RS.Open SQL, conn
conn.Execute(SQL)
'response.write SQL
%>
<FORM ACTION="main.asp?action=save" METHOD="post" NAME="main">
<TR>
<TD>
<TEXTAREA COLS="35" ROWS="14" NAME="txtStart"><%=RS("tblStart")%></TEXTAREA><br>
<input id="button" type="submit" value="Uppdatera">
</td>
<td>
<TEXTAREA COLS="35" ROWS="5" NAME="txtTopRight"><%=RS("tblTopRight")%></TEXTAREA><br>
<input id="button" type="submit" value="Uppdatera">
<TEXTAREA COLS="35" ROWS="5" NAME="txtBottom"><%=RS("tblBottom")%></TEXTAREA><br>
<input id="button" type="submit" value="Uppdatera">
</td>
</tr>
</form>
<%
RS.Close
Set RS = Nothing
conn.Close
%>
När man klickar på uppdatera så går den till ett annat ställe där min update sats ligger