Trådstart 25 mars 2001 22:00 #1 varför funkar inte detta?
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "batang.com-fame/biljett"
Set RecSet = Server.CreateObject("ADODB.Recordset")
Visa = "SELECT * FROM forum where id = " & id
RecSet.Open Visa, Connect, 3,3
RecSet("user") = Request.Form("user")
RecSet("rubrik") = Request.Form("rubrik")
RecSet("kommentar") = Request.Form("kommentar")
RecSet("svar") = Request.Form("svar")
RecSet("datum") = Request.Form("datum")
RecSet("usersvar") = Request.Form("usersvar")
RecSet("datumsvar") = Request.Form("datumsvar")
RecSet.Update
RecSet.Close
Connect.Close %>
Får mismatch på den raden med "usersvar". Det är en textarea!
M M@rtin Medlem sedan dec. 1999 2 085 inlägg Vad har du för datatyp på undersvar i databasen då?
det är text. sorry det var ingen textarea utan ett vanligt textfield
får samma fel på raden med "svar" detta är ett memo
Vide Medlem sedan dec. 1999 8 577 inlägg Du måste väl ha med "RecSet.AddNew" före...
Men varför använder du ett recordset för att lägga till en ny post i databasen? helt onödigt... använd en vanlig INSERT-SQL-sats för det...
VIll inte lägga till poster utan redigera de som finns där
L LarsG Medlem sedan dec. 2000 12 464 inlägg En update då
<% Set Connect = Server.CreateObject("ADODB.Connection")
Connect.Open "batang.com-fame/biljett"
Visa = _
"update forum " & _
"set [user] = '" & Request.Form("user") & "'," & _
" rubrik = '" & Request.Form("rubrik") & "'," & _
" kommentar = '" & Request.Form("kommentar") & "'," & _
" svar = '" & Request.Form("svar") & "'," & _
" datum = #" & Request.Form("datum") & "#," & _
" usersvar = '" & Request.Form("usersvar") & "'," & _
" datumsvar = #" & Request.Form("datumsvar") & "# " & _
" where id = " & id
connect.execute visa,,128
Connect.Close %>
Jag förutsätter att du använder Access
Lite kommentarer:
User är ett reserverat ord i SQL och måste klamras. Du borde egentligen byta namn.
Datumvärden anges inom ##. (Gäller enbart Access använd ' annars) Jag antog att datum och datumsvar har datatypen date.
P PatrikB Medlem sedan mars 2000 2 836 inlägg .... använd dig av:
.
.
.
RecSet.UpdateBatch
istället för RecSet.Update
cya,
PatrikB
Tyvärr så får jag fortfarande fel:
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error in date in query expression '##'.
/admin/admin_redigeraforum_ok.asp, line 24
KOden ser ut som den som LarsG skrev
@nders Medlem sedan juni 2000 32 967 inlägg då är det något av dina datum som du inte får med dig från formuläret till sql-frågan.
skriv ut den färdiga sql-frågan med response.write innan du exekverar den, så kan man lättare se vad som är knas.
ok. Jag vill kunna ha något av datumfälten tomma. Är det det som spökar tro?
@nders Medlem sedan juni 2000 32 967 inlägg japp. det skapas en del syntaxfel om man bara hoppar över värden.
skall fältet inte uppdateras om datumvärdet är tomt? isf, får du kolla med en if-sats om värdet du får är tomt, om det är det ska du inte ha med det i din update-fråga.
mvh,
Hur f....n lägger man in en ifsats mitt i alltihop.
Förresten så går det bra med de andra fälten även om de är tomma!!
lite kodhjälp till ifsatsen vore inte helt fel!
@nders Medlem sedan juni 2000 32 967 inlägg strängar kan vara tomma, är datum tomt sår värdet null, och det blir trasigt om du anger ##.
Visa = "update forum " & _
"set [user] = '" & Request.Form("user") & "'," & _
" rubrik = '" & Request.Form("rubrik") & "'," & _
" kommentar = '" & Request.Form("kommentar") & "'," & _
" svar = '" & Request.Form("svar") & "',"
if Request.Form("datum") <> "" then Visa = Visa & " datum = #" & Request.Form("datum") & "#," & _
Visa = Visa & " usersvar = '" & Request.Form("usersvar") & "'"
if Request.Form("datumsvar") <> "" then Visa = Visa & ", datumsvar = #" & Request.Form("datumsvar") & "# " & _
Visa = Visa & " where id = " & id
otestat.
Nja!!
Följande feltext kommernu
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'.
/admin/admin_redigeraforum_ok.asp, line 26
L LarsG Medlem sedan dec. 2000 12 464 inlägg Ja knas var det sa bill.
Knas var ordet sa bull.
Jag såg lite saker i @anders kod
Visa = "update forum " & _
"set [user] = '" & Request.Form("user") & "'," & _
" rubrik = '" & Request.Form("rubrik") & "'," & _
" kommentar = '" & Request.Form("kommentar") & "'," & _
" svar = '" & Request.Form("svar") & "',"
if Request.Form("datum") <> "" then Visa = Visa & " datum = #" & Request.Form("datum") & "#,"
Visa = Visa & " usersvar = '" & Request.Form("usersvar") & "'"
if Request.Form("datumsvar") <> "" then Visa = Visa & ", datumsvar = #" & Request.Form("datumsvar") & "# "
Visa = Visa & " where id = " & id
Jag tog bort & _ på två rader. Men det förklarar inte varför du fick så där. Du får posta lite mer av koden om det inte hjälper.
@nders Medlem sedan juni 2000 32 967 inlägg nämen, förlåt.
klantskaft.
Kanon, nu funkar det perfa
Tack så mycket