|
| Hejsa.. Fra : A. Høegh |
Dato : 02-03-02 18:09 |
|
Er vi enige om at:
SELECT * FROM Dating_invitation WHERE ID = '2', objConn, adOpenStatic,
adLockOptimistic, adCmdTable
Er en gyldig SQL sætning hvis jeg ønsker at redigere i noget i postsættet?
/mvh. A. Høegh
| |
A. Høegh (02-03-2002)
| Kommentar Fra : A. Høegh |
Dato : 02-03-02 18:17 |
|
Plz svar en eller anden, jeg har sidde med det her problem hele dagen...går
snart amok =)
| |
Jørn Andersen (02-03-2002)
| Kommentar Fra : Jørn Andersen |
Dato : 02-03-02 18:33 |
|
On Sat, 2 Mar 2002 18:08:50 +0100, "A. Høegh" <ah@evomedia.dk> wrote:
>Er vi enige om at:
>
>SELECT * FROM Dating_invitation WHERE ID = '2', objConn, adOpenStatic,
>adLockOptimistic, adCmdTable
>
>Er en gyldig SQL sætning hvis jeg ønsker at redigere i noget i postsættet?
SQL-sætningen er:
SELECT * FROM Dating_invitation WHERE ID = '2'
- og hvis dit ID er et tal:
SELECT * FROM Dating_invitation WHERE ID = 2
Men din fejl melding var noget med "Syntax error in FROM clause." - så
jeg ville mistænke db-navnet og skrive:
SELECT * FROM [Dating_invitation] WHERE ID = 2
- eller omdøbe databasen.
Good luck,
Jørn
--
Jørn Andersen,
Brønshøj
| |
A. Høegh (02-03-2002)
| Kommentar Fra : A. Høegh |
Dato : 02-03-02 18:38 |
|
Unskyld, jeg kan ikke lige huske hvordan man qouter korrekt =)
Nu prøver jeg, og jeg krydser fingre =)
/A. Høegh
| |
A. Høegh (02-03-2002)
| Kommentar Fra : A. Høegh |
Dato : 02-03-02 18:39 |
|
Men er det de rigtige ado konstanter jeg benytter?
| |
Anders Lund (02-03-2002)
| Kommentar Fra : Anders Lund |
Dato : 02-03-02 18:38 |
|
"A. Høegh" <ah@evomedia.dk> skrev i en meddelelse
news:3c810724$0$56575$edfadb0f@dspool01.news.tele.dk...
> Er vi enige om at: <snip>
Nope id plejer at være int, derfor skal du ikke have ' rundt om 2.
altså:
SELECT * FROM Dating_invitation WHERE ID = 2
--
Mvh
Anders Lund
www.OwerClocking.dk
| |
A. Høegh (02-03-2002)
| Kommentar Fra : A. Høegh |
Dato : 02-03-02 18:46 |
|
Jubii....jeg har lige fundet ud af at det er i alle tilfælde den kegler ud.
Den giver mig fejlen:
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access Driver] Syntax error in FROM clause.
Ligegyldigt hvordan jeg prøver at opdatere min database. Om jeg vil tilføje
noget nyt, tekst som tal, eller opdatere et gammelt felt - ja så får jeg den
fejl der! Og nej, der er ikke nogen syntaxfejl i fx:
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open "SELECT * FROM Dating_invitation WHERE ID = 2", objConn,
adOpenForwardOnly, adLockOptimistic, adCmdTable
Så hvad skal jeg gøre? Sidder her og overvejer om det er min computer der er
gået lort i efter jeg installerede MDAC 2.7 og derefter .NET SDK...Jeg ved
ikke engang hvad MDAC er/gør, bare at de er nødvendigt sammen med .NET...
Men på den anden side parser .NET vel ikke .asp filer? Shit..
Med Desperar Hilsen
A. Høegh
| |
Jørn Andersen (02-03-2002)
| Kommentar Fra : Jørn Andersen |
Dato : 02-03-02 19:34 |
|
On Sat, 2 Mar 2002 18:45:49 +0100, "A. Høegh" <ah@evomedia.dk> wrote:
>Jubii....jeg har lige fundet ud af at det er i alle tilfælde den kegler ud.
>Den giver mig fejlen:
>
>Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
>[Microsoft][ODBC Microsoft Access Driver] Syntax error in FROM clause.
Hold lige fast i den: "Syntax error in FROM clause"
>Ligegyldigt hvordan jeg prøver at opdatere min database. Om jeg vil tilføje
>noget nyt, tekst som tal, eller opdatere et gammelt felt - ja så får jeg den
>fejl der! Og nej, der er ikke nogen syntaxfejl i fx:
>
>Set objRS = Server.CreateObject("ADODB.Recordset")
>objRS.Open "SELECT * FROM Dating_invitation WHERE ID = 2", objConn,
>adOpenForwardOnly, adLockOptimistic, adCmdTable
Er den ligeglad med om du sætter tabelnavnet i firkant-paranteser?
[Dating_invitation]
Har du checket, at dit ID er et tal og ikke en tekst - bedre at være
sikker, så du ikke fokuserer på for mange ting samtidig :)
Prøv også at slette dine ADO-konstanter. De er kun nødvendige, hvis du
vil opdatere - eller "spole" dit recordset.
Hvordan er din objConn defineret?
>Så hvad skal jeg gøre? Sidder her og overvejer om det er min computer der er
>gået lort i efter jeg installerede MDAC 2.7 og derefter .NET SDK...Jeg ved
>ikke engang hvad MDAC er/gør, bare at de er nødvendigt sammen med .NET...
>
>Men på den anden side parser .NET vel ikke .asp filer? Shit..
Kender ikke noget til .NET - sorry.
Good luck,
Jørn
--
Jørn Andersen,
Brønshøj
| |
A. Høegh (03-03-2002)
| Kommentar Fra : A. Høegh |
Dato : 03-03-02 11:40 |
|
Hej igen.
- Jeg kan sagtens bruge koden herunder, selvom det er et tal felt. Er i med
så langt?
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open "SELECT * FROM Dating_invitation WHERE ID = 2", objConn
- Men når jeg vil gøre det muligt at redigere i postsættet via ADO
konstanter, altså:
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open "SELECT * FROM Dating_invitation WHERE ID = 2", objConn,
adOpenForwardOnly, adLockOptimistic, adCmdTable
Så får jeg fejlen med "syntax error in from clause". Jeg tror derfor ikke
det har noget at gøre med om det nu
er en eller to ' eller om det er numeriske værdier jeg arbejder med eller
ej. Det er jo noget med at den går i lort hver gang jeg vil
gøre det muligt at opdatere postsættet. Er det mon det med ADO konstanterne?
/mvh.
A. Høegh
| |
Jørn Andersen (03-03-2002)
| Kommentar Fra : Jørn Andersen |
Dato : 03-03-02 12:50 |
|
On Sun, 3 Mar 2002 11:40:18 +0100, "A. Høegh" <ah@evomedia.dk> wrote:
Hej igen,
>- Jeg kan sagtens bruge koden herunder, selvom det er et tal felt. Er i med
>så langt?
Først nu :)
>Set objRS = Server.CreateObject("ADODB.Recordset")
>objRS.Open "SELECT * FROM Dating_invitation WHERE ID = 2", objConn
OK, hvis den virker, så ved vi altså både at dit ID-felt er numerisk
og at der ikke er problemer med tabelnavnet.
>- Men når jeg vil gøre det muligt at redigere i postsættet via ADO
>konstanter, altså:
>
>Set objRS = Server.CreateObject("ADODB.Recordset")
>objRS.Open "SELECT * FROM Dating_invitation WHERE ID = 2", objConn,
>adOpenForwardOnly, adLockOptimistic, adCmdTable
Har du defineret disse konstanter - enten hardkodet eller via
adovbs.inc eller via metadata?
Konstanterne er nemlig ikke "indbygget" - så du skal enten:
1) include "adovbs.inc" filen
eller
2) Sætte METADATA:
%>
<!--METADATA
TYPE="TypeLib"
NAME="Microsoft ActiveX Data Objects 2.5 Library"
UUID="{00000205-0000-0010-8000-00AA006D2EA4}"
VERSION="2.5"-->
<%
eller
3) Hardcode disse variabale:
Const adOpenForwardOnly = 0
Const adLockOptimistic = 3
Const adCmdTable = 2
Const adOpenStatic = 3
Const adLockPessimistic = 2
Start evt. med at hardkode dem på siden, så får du checket, om det er
det, der er problemet.
Ellers er løsning 2 en bedre permanent løsning, da den (ligesom
løsning 1) giver adgang til alle ADO-variable, men (i modsætning til
løsning 1) ikke loader dem i memory, medmindre de skal bruges.
- Men du skal lige huske at checke, at det er den rigtige version!
Good luck,
Jørn
--
Jørn Andersen,
Brønshøj
| |
A. Høegh (03-03-2002)
| Kommentar Fra : A. Høegh |
Dato : 03-03-02 13:02 |
|
Hej igen igen..
Den returnerer stadig fejlen ved denne kode:
---
<!--#include file="../filer/includes/datacon.asp"-->
<%
Const adOpenForwardOnly = 0
Const adLockOptimistic = 3
Const adCmdTable = 2
Const adOpenStatic = 3
Const adLockPessimistic = 2
Set objRS = Server.CreateObject("ADODB.Recordset")
objRS.Open "SELECT * FROM Dating_invitation WHERE ID = 2", objConn,
adOpenForwardOnly, adLockOptimistic, adCmdTable
%>
---
Hvad mener du med version? Og i eksemplet herover, hvad gør
adLockPessimistic så godt for? Og til sidst, kan det tænkes at have noget at
gøre med IIS 5? For sidst det "virkede" kørte jeg det på PWS. Så måske er
der nogle instillinger der? For det er jo kun når jeg vil skrive i databasen
og benytter de ADO konstanter det går galt..
/mvh. A. Høegh
| |
Jørn Andersen (03-03-2002)
| Kommentar Fra : Jørn Andersen |
Dato : 03-03-02 13:18 |
|
On Sun, 3 Mar 2002 13:02:15 +0100, "A. Høegh" <ah@evomedia.dk> wrote:
Hej A.,
>Den returnerer stadig fejlen ved denne kode:
Hmmm - så er jeg vist løbet tør for ideer.
<SNIP>
>Hvad mener du med version?
ADO version - hvis du brugte metadata-metoden.
>Og i eksemplet herover, hvad gør
>adLockPessimistic så godt for?
Ikke noget - tænkte blot, at du måske kunne få brug for den.
>Og til sidst, kan det tænkes at have noget at
>gøre med IIS 5? For sidst det "virkede" kørte jeg det på PWS. Så måske er
>der nogle instillinger der? For det er jo kun når jeg vil skrive i databasen
>og benytter de ADO konstanter det går galt..
Jeg ved ikke, om der kan være nogle IIS5-indstillinger, der skal
ændres - det må andre på banen med.
Men du kunne evt. prøve at connecte/opdatere på en anden måde. Jeg
bruger oftest en metode, hvor der ikke er brug for
ADO-cursor-konstanterne:
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " & _
"DBQ=" & Server.MapPath ("database.mdb")
Conn.Open DSN
strSQL = "SELECT ... whatever ... ;"
' Hvis du skal hente et recordset
Set rs = Conn.Execute(strSQL)
' Hvis du skal opdatere/indsætte
Conn.Execute(strSQL)
....
' Luk og sluk
Conn.Close
Set Conn = Nothing
Giver den også fejlmeldinger???
Og i så fald hvilke?
Good luck,
Jørn
--
Jørn Andersen,
Brønshøj
| |
A. Høegh (03-03-2002)
| Kommentar Fra : A. Høegh |
Dato : 03-03-02 13:55 |
|
Hehe...det her er nærmest latterligt :)
Koden:
--------------------
<!--#include file="datacon.asp"-->
<!--#include file="adovbs.inc"-->
<%
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; " & _
"DBQ=" & Server.MapPath ("database.mdb")
Conn.Open DSN
strSQL = "INSERT INTO Dating_invitation (Antal, Landsdel) VALUES
(4,'Nogey')"
' Hvis du skal opdatere/indsætte
Conn.Execute(strSQL)
' Luk og sluk
Conn.Close
Set Conn = Nothing
%>
--------------------------
Returnerer:
Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
[Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable
query.
/test.asp, line 16
---------------------------------
Hvad satan sker der?
Mvh.
A. Høegh
| |
Jørn Andersen (03-03-2002)
| Kommentar Fra : Jørn Andersen |
Dato : 03-03-02 15:09 |
|
On Sun, 3 Mar 2002 13:55:18 +0100, "A. Høegh" <ah@evomedia.dk> wrote:
>Hehe...det her er nærmest latterligt :)
>
>Koden:
<SNIP>
>Conn.Execute(strSQL)
>Returnerer:
>Microsoft OLE DB Provider for ODBC Drivers (0x80004005)
>[Microsoft][ODBC Microsoft Access Driver] Operation must use an updateable
>query.
>/test.asp, line 16
Mon ikke det hjælper os på sporet?
(sagde han i et naivt forsøg på at holde modet oppe ...)
Tag fx et kig på:
"How can I solve 80004005 errors?"
<URL: http://www.aspfaq.com/show.asp?id=2009>
- som siger:
The 80004005 error message can be summarized as "I couldn't get at
your data for some reason."
Den mest almindelige udgave er enten at du ikke har tilladelse, eller
at du har åbnet databasen fra Access samtidigt.
Good luck,
Jørn
--
Jørn Andersen,
Brønshøj
| |
A. Høegh (03-03-2002)
| Kommentar Fra : A. Høegh |
Dato : 03-03-02 23:27 |
|
Jeg ved med sikkerhed at jeg har lukket databaseb og Access. Men kan det så
være en konfiguration i ISS jeg skal lave for at få lov til at redigere?
--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Jørn Andersen (03-03-2002)
| Kommentar Fra : Jørn Andersen |
Dato : 03-03-02 23:36 |
|
On Sun, 3 Mar 2002 22:27:25 +0000 (UTC), A. Høegh <ah@evomedia.dk>
wrote:
>Jeg ved med sikkerhed at jeg har lukket databaseb og Access. Men kan det så
>være en konfiguration i ISS jeg skal lave for at få lov til at redigere?
Du skal have skriveadgang til den virtuelle sti, hvor databasen
ligger.
"Du" er i denne sammenhæng IUSR_<computernavn>
Mvh. Jørn
--
Jørn Andersen,
Brønshøj
| |
A. Høegh (05-03-2002)
| Kommentar Fra : A. Høegh |
Dato : 05-03-02 23:41 |
|
> Du skal have skriveadgang til den virtuelle sti, hvor databasen
> ligger.
> "Du" er i denne sammenhæng IUSR_<computernavn>
Jeps, men det krævede et lille trick først. En Peter M jeg fandt via Google
Groups forklarede det mig dog.
Men mange tak for hjælpen.
A. Høehj
| |
|
|