webForumDet fria alternativet

SQL vill inte uppdatera

13 svar · 197 visningar · startad av saw

sawMedlem sedan mars 20011 880 inlägg
#1

Jag rensar och lägger ditt nytt nedanför

[Redigerat av saw den 01 jul 2001]

sawMedlem sedan mars 20011 880 inlägg
#2

Rensar även här.

[Redigerat av saw den 01 jul 2001]

sawMedlem sedan mars 20011 880 inlägg
#3

Nu har jag stora problem med mina SQL-satser.
1: Jag får felmedelandet att jag måste ha en fråga som kan uppdateras.
Jag har satt alla rättighete genom guiden "Behörighet" och har inte haft några problem med det.
Den klagar också på att SQL-satserna är fel.
Någon som ser felen?

SQLStmt = "INSERT INTO Forum "
SQLStmt = SQLStmt & "(Rubrik, Datum, Icon, inlagg) "
SQLStmt = SQLStmt & "VALUES('" & Session.Value("Rubrik") & "', '" &Session.Value("Datum")& "', '" &Session.Value("Icon")& "', '" &Session.Value("Inlagg")& "'); "
Connection.Execute(SQLStmt)
Response.Write SQLStmt

MAX = "SELECT MAX(PerHits) FROM Person"
SET mx = Connection.Execute(MAX)
if not mx.eof then
strPerHits = mx(0)+1
Else
Response.write ""
End if

MAX1 = "SELECT MAX(ForumID) FROM Forum"
SET mx1 = Connection.Execute(MAX1)
if not mx1.eof then
strForumID = mx1(0)
Else
Response.write ""
End if

'Response.Write strPerHits & "<BR>"
'Response.Write strForumID & "<BR>"

SQL="SELECT Namn,Epost FROM Person WHERE Namn ='"& Session.Value("Namn") &"' AND Epost='"&Session.Value("Epost")&"'"
Set RS = Connection.Execute(SQL)
IF RS.EOF THEN
Response.Write "Ny skribent<BR>"

SQLStmt1 = "INSERT INTO Person "
SQLStmt1 = SQLStmt1 & "(ForumID, Namn, Epost, Datum) "
SQLStmt1 = SQLStmt1 & "VALUES(" & strForumID & ", '" &Session.Value("Namn")& "', '" &Session.Value("Epost")& "', " &Session.Value("Datum")& ");"
Connection.Execute(SQLStmt1)
Response.Write SQLStmt1

Else
Response.Write "Gammal skribent<BR>"

SQLStmt = "Update Person "
SQLStmt = SQLStmt & "Set PerHits =" & strPerHits & " WHERE Namn ='"&Session.Value("Namn")&"' AND Epost='"&Session.Value("Epost")&"'"
Response.Write SQLStmt
Connection.Execute(SQLStmt)
End If
Tacksam för all hjälp.

------------------
saw
__
saw@songer.com
www.saw.songer.com
_
_

@ndersMedlem sedan juni 200032 969 inlägg
#4

prova att klamra dina fältnamn så det inte är ditt användande av reserverade fältnamn (typ datum) som bråkar.

är fältet datum av datumtyp och du använder access skall du inte ha apostrofer runt värdet, utan brädgårdar.

mvh,

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

sawMedlem sedan mars 20011 880 inlägg
#5

Datum är nu ändrat till text (för säkerhets skull.
Uppfattade jag dig rätt Anders när jag gör så här?

SQLStmt1 = "INSERT INTO Person "
SQLStmt1 = SQLStmt1 & "(ForumID, Namn, Epost, [Datum]) "
SQLStmt1 = SQLStmt1 & "VALUES(" & strForumID & ", '" &Session.Value("Namn")& "', '" &Session.Value("Epost")& "', '" &Session.Value("[Datum]")& "');"
Connection.Execute(SQLStmt1)

Jag får under alla händelse samma resultat

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.
/Global/Forum/Nytt.asp, line 159

Vad tror du?

------------------
saw
__
saw@songer.com
www.saw.songer.com
_
_

@ndersMedlem sedan juni 200032 969 inlägg
#6

nja, bara i sql-frågan, inte sessionsvärdet.

men annars förstod du mig rätt.

så här hade jag tänkt mig:

SQLStmt1 = "INSERT INTO Person "
SQLStmt1 = SQLStmt1 & "(ForumID, Namn, Epost, [Datum]) "
SQLStmt1 = SQLStmt1 & "VALUES(" & strForumID & ", '" &Session.Value("Namn")& "', '" &Session.Value("Epost")& "', '" &Session.Value("Datum")& "');"

du är också 100% säker på att IUSR_Servernamn har tillräckliga rättigheter i mappen som databasen ligger i?

IUSR_Servernamn ska ha RXWD minst.

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

sawMedlem sedan mars 20011 880 inlägg
#7

Jag undrar om jag skall fortsätta med det här : ( ?

På bägge dessa SQL_er får jag fel:

SQLStmt = "INSERT INTO Forum "
SQLStmt = SQLStmt & "(Rubrik, [Datum], Icon, inlagg) "
SQLStmt = SQLStmt & "VALUES('" & Session.Value("Rubrik") & "', '" &Session.Value("Datum")& "', " &Session.Value("Icon")& ", '" &Session.Value("Inlagg")& "'); "

NÄSTA:

SQLStmt1 = "INSERT INTO Person "
SQLStmt1 = SQLStmt1 & "(ForumID, Namn, Epost, [Datum]) "
SQLStmt1 = SQLStmt1 & "VALUES(" & strForumID & ", '" &Session.Value("Namn")& "', '" &Session.Value("Epost")& "', '" &Session.Value("Datum")& "');"

Jag får samma error på bägge SQLerna:

Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel i INSERT INTO-uttryck.

Vad tror ni?

------------------
saw
__
saw@songer.com
www.saw.songer.com
_
_

LarsGMedlem sedan dec. 200012 464 inlägg
#8

Datum i Access kräva dessa tecken:#

SQLStmt = "INSERT INTO Forum "
SQLStmt = SQLStmt & "(Rubrik, [Datum], Icon, inlagg) "
SQLStmt = SQLStmt & "VALUES('" & Session.Value("Rubrik") & "', #" &Session.Value("Datum")& "#, " &Session.Value("Icon")& ", '" &Session.Value("Inlagg")& "') "

------------------
essentitia preter non sans multiplicandum

@ndersMedlem sedan juni 200032 969 inlägg
#9

när man får den typen av fel så tjänar man på att skriva ut sql-frågan med response.write.

får man gissa på att det är något värde som saknas?

------------------
<A HREF="http://cartman.nu" TARGET=_blank>
can i borrow your goat?
</A>

sawMedlem sedan mars 20011 880 inlägg
#10

När jag skriver ut med response.write, så hittar jag inga fel.
Jag ändrade datum tillbaka till datum/tid, och då verkar det som om den första SQL-satsen fungerar men inte denna:

SQLStmt1 = "INSERT INTO Person "
SQLStmt1 = SQLStmt1 & "(ForumID, Namn, Epost, [Datum]) "
SQLStmt1 = SQLStmt1 & "VALUES(" & strForumID & ", '" &Session.Value("Namn")& "', '" &Session.Value("Epost")& "', #" &Session.Value("Datum")& "# );"

Fortfarande fel:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][Drivrutin för ODBC Microsoft Access] Syntaxfel i INSERT INTO-uttryck.

Vad skall jag göra?????

------------------
saw
__
saw@songer.com
www.saw.songer.com
_
_

emissionMedlem sedan dec. 19996 721 inlägg
#11

Skriv ut frågan med response.write, och posta den här så får vi ta en titt på den. :)

sawMedlem sedan mars 20011 880 inlägg
#12

Så här ser det då ut, inget fel vad jag kan se:

INSERT INTO Forum (Rubrik, [Datum], Icon, inlagg) VALUES('Testar',#2001-07-01#, 1, 'Mera testande');
2Hej2
Update Person Set PerHits =2 WHERE Namn ='Benni Svensson' AND Epost='saw@songer.com'

------------------
saw
__
saw@songer.com www.saw.songer.com
_
_

[Redigerat av saw den 01 jul 2001]

LarsGMedlem sedan dec. 200012 464 inlägg
#13
INSERT INTO Person (ForumID, Namn, Epost, [Datum]) VALUES([b]här saknas värde[/b], 'Benni Svensson', 'saw@songer.com', #2001-07-01# )

Förmodligen någon variabel som inte är definierad. (strForumId kanske?)

------------------
essentitia preter non sans multiplicandum

sawMedlem sedan mars 20011 880 inlägg
#14

Tack alla ni som har försökt att hjälpa mig.
Det fungerar bra nu. Felet/en var minst två. Jag hade ett fält förmycket i tabellen Person, som aldrig fick någon information. Nästa var att jag hade fel ordning när jag lade in information i databasen.
Just nu är den underbar men.......
: )

------------------
saw
__
saw@songer.com
www.saw.songer.com
_
_

132 ms totalt · 3 externa anrop · v20260731065814-full.7de19299
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)