/ Forside / Teknologi / Udvikling / ASP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
ASP
#NavnPoint
smorch 9259
Harlekin 1866
molokyle 1040
Steffanst.. 758
gandalf 657
smilly 564
gibson 560
cumano 530
MouseKeep.. 480
10  Random 410
Error in update statement, plz hjælp
Fra : Preben Jensen


Dato : 25-06-02 10:12

Hej, er der en der kan hjælpe mig lidt videre ?
Jeg får nedenstående error når jeg vil opdatere DB.

[Error:]
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement.
/test/sample2-3.asp, line [nederste linie: Set RS = conn.execute(SQLstmt)]

[Script:]
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("dbase.mdb")
Conn.Open DSN
strSQL = "SELECT * from tagwall WHERE ID=" & ID
Set rs = Conn.Execute(strSQL)

sqlstmt = "UPDATE tagwall"
sqlstmt = sqlstmt & " SET callsign='" & calls & "',"
sqlstmt = sqlstmt & "departure='" & dep & "',"
sqlstmt = sqlstmt & "destination='" & des & "',"
sqlstmt = sqlstmt & "date='" & dat & "'"
sqlstmt = sqlstmt & " WHERE ID=" & ID
Set RS = conn.execute(SQLstmt)

Mvh. Preben Jensen.



 
 
Jens Gyldenkærne Cla~ (25-06-2002)
Kommentar
Fra : Jens Gyldenkærne Cla~


Dato : 25-06-02 10:15

Preben Jensen skrev:

> Hej, er der en der kan hjælpe mig lidt videre ?
> Jeg får nedenstående error når jeg vil opdatere DB.

Lav et debug-print på sqlstmt lige inden du kører den. Så er det
langt lettere at finde eventuelle fejl i SQL'en.

> sqlstmt = "UPDATE tagwall"
> sqlstmt = sqlstmt & " SET callsign='" & calls & "',"
> sqlstmt = sqlstmt & "departure='" & dep & "',"
> sqlstmt = sqlstmt & "destination='" & des & "',"
> sqlstmt = sqlstmt & "date='" & dat & "'"
> sqlstmt = sqlstmt & " WHERE ID=" & ID

Response.write sqlstmt

> Set RS = conn.execute(SQLstmt)



--
Jens Gyldenkærne Clausen
MF (medlem af FIDUSO - www.fiduso.dk)
I ovenstående tekst benyttes nyt komma.

Preben Jensen (25-06-2002)
Kommentar
Fra : Preben Jensen


Dato : 25-06-02 10:49

Hej Jens og tak
Nu kan jeg da se at det bliver sendt rigtigt afsted til DB-en.

> Lav et debug-print på sqlstmt lige inden du kører den. Så er det
> langt lettere at finde eventuelle fejl i SQL'en.

Det gjorde jeg så og får dette:
UPDATE tagwall SET
callsign='TEST009',departure='EKCH',destination='EKYT',date='6/24/2002'
WHERE ID=2
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement.

....og det er som det skal være mht. det der skal sendes til DB.
Den fejl jeg har, kan den skyldes disse quotes "'" ?
Et sted læste jeg noget med at hvis det var tekst/tal skulle der være/ikke
være disse quotes, men jeg kan ikke finde det sted på nettet igen.

Mvh. Preben Jensen.



Jesper Stocholm (25-06-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 25-06-02 10:57

Preben Jensen wrote in
news:3d183c37$0$78771$edfadb0f@dspool01.news.tele.dk:

>> Lav et debug-print på sqlstmt lige inden du kører den. Så er det
>> langt lettere at finde eventuelle fejl i SQL'en.
>
> Det gjorde jeg så og får dette:
> UPDATE tagwall SET
> callsign='TEST009',departure='EKCH',destination='EKYT',date='6/24/2002'
> WHERE ID=2
> Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
> [Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE
> statement.

"Date" er et reserveret ord i Access SQL [1] ... så det kan være at det
hjælper hvis du skriver

[Date]='...'

i stedet.

[1] http://www.btgi.net/reservedwords.cfm

:)

--
Jesper Stocholm
http://stocholm.dk
http://asp.stocholm.dk
Svar til gruppen og ikke til mig privat pr. email :|

Preben Jensen (25-06-2002)
Kommentar
Fra : Preben Jensen


Dato : 25-06-02 15:59

Tak for hjælpen, det kører

Mvh. Preben Jensen



Preben Jensen (25-06-2002)
Kommentar
Fra : Preben Jensen


Dato : 25-06-02 20:07


Hej igen, så tæt på at virke og alligevel ikke

Jeg får denne error.....:
UPDATE tagwall SET callsign='',afgang='',ankomst='',dato='',tid='',pw='',
WHERE ID=3
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement.
/domestic/update.asp, line 45


.....på et eller andet i det her som jeg ikke kan få øje på, kan du ?

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("dbase.mdb")
Conn.Open DSN
strSQL = "SELECT * from tagwall WHERE ID=" & ID
Set rs = Conn.Execute(strSQL)
sqlstmt = "UPDATE tagwall"
sqlstmt = sqlstmt & " SET callsign='" & callsign & "',"
sqlstmt = sqlstmt & "afgang='" & afgang & "',"
sqlstmt = sqlstmt & "ankomst='" & ankomst & "',"
sqlstmt = sqlstmt & "dato='" & dato & "',"
sqlstmt = sqlstmt & "tid='" & tid & "',"
sqlstmt = sqlstmt & "pw='" & pw & "',"
sqlstmt = sqlstmt & " WHERE ID=" & ID
Response.write sqlstmt
Set RS = conn.execute(SQLstmt)

Mvh. Preben Jensen.



Jesper Stocholm (25-06-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 25-06-02 21:55

Preben Jensen wrote in
news:3d18bef7$0$1526$edfadb0f@dspool01.news.tele.dk:

> Jeg får denne error.....:
> UPDATE tagwall SET
> callsign='',afgang='',ankomst='',dato='',tid='',pw='', WHERE ID=3
> Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
> [Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE
> statement. /domestic/update.asp, line 45

du har et komma for meget efter pw ... der skal stå

,pw='' where id=3

Du kan i øvrigt se syntaksen for SQL (til SQL-server) på

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/tsqlref/ts_ua-uz_82n9.asp?frame=true

:)

--
Jesper Stocholm
http://stocholm.dk
http://asp.stocholm.dk
Svar til gruppen og ikke til mig privat pr. email :|

Preben Jensen (25-06-2002)
Kommentar
Fra : Preben Jensen


Dato : 25-06-02 22:36

Hej igen, så tæt på at virke og alligevel ikke

Jeg får denne error.....:
UPDATE tagwall SET callsign='',afgang='',ankomst='',dato='',tid='',pw='',
WHERE ID=3
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'
[Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement.
/domestic/update.asp, line 45


.....på et eller andet i det her som jeg ikke kan få øje på, kan du ?

<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath ("dbase.mdb")
Conn.Open DSN
strSQL = "SELECT * from tagwall WHERE ID=" & ID
Set rs = Conn.Execute(strSQL)
sqlstmt = "UPDATE tagwall"
sqlstmt = sqlstmt & " SET callsign='" & callsign & "',"
sqlstmt = sqlstmt & "afgang='" & afgang & "',"
sqlstmt = sqlstmt & "ankomst='" & ankomst & "',"
sqlstmt = sqlstmt & "dato='" & dato & "',"
sqlstmt = sqlstmt & "tid='" & tid & "',"
sqlstmt = sqlstmt & "pw='" & pw & "',"
sqlstmt = sqlstmt & " WHERE ID=" & ID
Response.write sqlstmt
Set RS = conn.execute(SQLstmt)

Mvh. Preben Jensen.



Jørn Andersen (25-06-2002)
Kommentar
Fra : Jørn Andersen


Dato : 25-06-02 23:39

On Tue, 25 Jun 2002 23:35:41 +0200, "Preben Jensen"
<preben@[remove]pdcs.dk> wrote:

>Jeg får denne error.....:
>UPDATE tagwall SET callsign='',afgang='',ankomst='',dato='',tid='',pw='',
>WHERE ID=3

Der skal ikke være komma før WHERE
(desuden er dine værdier tomme, men det skal de måske være?)

<snip>

><%
> Set Conn = Server.CreateObject("ADODB.Connection")
> DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
> DSN = DSN & "DBQ=" & Server.MapPath ("dbase.mdb")
> Conn.Open DSN
> strSQL = "SELECT * from tagwall WHERE ID=" & ID
> Set rs = Conn.Execute(strSQL)

Hvad skal dette rs bruges til?

> sqlstmt = "UPDATE tagwall"
> sqlstmt = sqlstmt & " SET callsign='" & callsign & "',"
> sqlstmt = sqlstmt & "afgang='" & afgang & "',"
> sqlstmt = sqlstmt & "ankomst='" & ankomst & "',"
> sqlstmt = sqlstmt & "dato='" & dato & "',"
> sqlstmt = sqlstmt & "tid='" & tid & "',"
> sqlstmt = sqlstmt & "pw='" & pw & "',"
> sqlstmt = sqlstmt & " WHERE ID=" & ID
> Response.write sqlstmt
> Set RS = conn.execute(SQLstmt)

Hvordan vil du danne et RecordSet ud fra et UPDATE-statement?

Nøjes med:
Conn.Execute(SQLstmt)


Good luck,
Jørn


--
Jørn Andersen,
Brønshøj

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste