webForumDet fria alternativet
Logga in / Bli medlem

SQL vill inte uppdatera

ASP

13 svar · 197 visningar · startad av saw

Medlem sedan mars 20011 880 inlägg
Trådstart#1

Jag rensar och lägger ditt nytt nedanför

[Redigerat av saw den 01 jul 2001]

Medlem sedan mars 20011 880 inlägg
#2

Rensar även här.

[Redigerat av saw den 01 jul 2001]

Medlem 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.

Medlem sedan juni 200032 967 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,

Medlem 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?

Medlem sedan juni 200032 967 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.

Medlem 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?

Medlem 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")& "') "
Medlem sedan juni 200032 967 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?

Medlem 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?????

Medlem 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. :)

Medlem 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'

Medlem 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?)

Medlem 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.......
: )

260 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
117 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
119 ms — ändringar (db)