[ASP] ADODB problemen *

Pagina: 1
Acties:
  • 58 views sinds 30-01-2008

  • LordMithril
  • Registratie: Augustus 2001
  • Laatst online: 17:44
het probleem:
ik ben bezig op mn stage met een Call site
hierop kunnen mensen als ze problemen hebben met hun pc een bericht achterlaten, dat word dan opgeslagen in een database.
werkt perfect, alles word er mooi ingezet, je kan het mooi uitlezen.
maar wij moeten ook commentaar kunnen leveren op de calls en het "opgelost" vinkje aanvinken.
geen probleem dacht ik maar helaas was t wat lastiger ;(

op 1 of andere manier selecteerd mijn programma niet het goede call nummer uit de database om het commentaar in te zetten.
elke keer zet hij alles bij CALLID 1 neer.. ik zit er nu al 2 dagen naar te kijken maar ik zie t echt niet meer ;(
hieronder volgt mijn source, alles werkt hier dus goed behalve het selecteren van het goede record om in te schrijven.

ASP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
<%
' ADODB Constanten

'---- CursorTypeEnum Values ----
Const adOpenForwardOnly = 0
Const adOpenKeyset = 1
Const adOpenDynamic = 2
Const adOpenStatic = 3

'---- LockTypeEnum Values ----
Const adLockReadOnly = 1
Const adLockPessimistic = 2
Const adLockOptimistic = 3
Const adLockBatchOptimistic = 4

'---- CommandTypeEnum Values ----
Const adCmdUnknown = &H8
Const adCmdText = &H1
Const adCmdTable = &H2
Const adCmdStoredProc = &H4
Const adCmdFile = &H100
Const adCmdTableDirect = &H200

CALLID = Request.QueryString("CALLID")
 
Commentaar = Request.Form("Commentaar")

    Set DBConn = CreateObject("ADODB.connection")
    Set RS = CreateObject("ADODB.Recordset")
    DSN_CONNSTRING = "DRIVER={Microsoft Access Driver (*.mdb)}; "
    DSN_CONNSTRING = DSN_CONNSTRING & "DBQ=E:\dbase\Call\Call.mdb"
    DBConn.Open DSN_CONNSTRING

SQLstring = "SELECT CALLID FROM Call WHERE CALLID LIKE '" & CALLID & "' "
RS.Open "Call", DSN_CONNSTRING, adOpenKeyset, adLockPessimistic, adCmdTable

                    RS.Fields("Commentaar") = Commentaar
                    RS.Update
                    
    RS.Close
    Set RS = Nothing
    DBConn.Close
    Set DBConn = Nothing
%>

Bier, Whiskey en Metal!!


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Waar is je goeie topic beschrijving? :p

En waarom LIKE CallID?! Is = niet gewoon veel veiliger?

Heb je al gedebuged? Is CALLID wel ooit anders als 1?

We adore chaos because we like to restore order - M.C. Escher


  • whoami
  • Registratie: December 2000
  • Laatst online: 19:34
Ik zie het nut van die Sql string niet goed in eigenlijk. Je selecteerd enkel de column 'callid', terwijl je de waarde van callid al kent (want dat staat in de where?) :?

Ik ga er ook vanuit dat callid een numeriek veld is? Rond numerieke velden mag je geen ' zetten, en je moet ook eens in een SQL manual kijken wat de bedoeling is van de LIKE operator. Deze werkt trouwens ook enkel op strings....

https://fgheysels.github.io/


  • LordMithril
  • Registratie: Augustus 2001
  • Laatst online: 17:44
LordLarry schreef op 31 oktober 2002 @ 10:50:
Waar is je goeie topic beschrijving? :p

En waarom LIKE CallID?! Is = niet gewoon veel veiliger?

Heb je al gedebuged? Is CALLID wel ooit anders als 1?
call id voert hij altijd goed door.. dat is t stomme juist

en idd was ff vergeten mn topic title in te vullen :D

Bier, Whiskey en Metal!!


  • LordMithril
  • Registratie: Augustus 2001
  • Laatst online: 17:44
whoami schreef op 31 oktober 2002 @ 10:51:
Ik zie het nut van die Sql string niet goed in eigenlijk. Je selecteerd enkel de column 'callid', terwijl je de waarde van callid al kent (want dat staat in de where?) :?

Ik ga er ook vanuit dat callid een numeriek veld is? Rond numerieke velden mag je geen ' zetten, en je moet ook eens in een SQL manual kijken wat de bedoeling is van de LIKE operator. Deze werkt trouwens ook enkel op strings....
CALLID is een auto nummer veld (lekker makkelijk ;))
en ik nam aan dat ik die sql string nodig had om de goede regel te selecteren (net als in het uitlezen :?)
want bij het uitlezen van de calls (werkt perfect) gebruik ik dezelfde regels..
nu moet ik dus allen 1 dingetje aanpassen en nu werkt ie niet :?

Bier, Whiskey en Metal!!


Verwijderd

waarom gebruik je niet een update query zo iets van
update commentaar where callid = calid

waarom gebruik je LIKE ? een calid is neem ik aan uniek Like moet zijn =

ik werk alleen met Stored procedures in SQL dus de juiste syntax kan ik je niet geven.

  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

CALLID is een auto nummer veld (lekker makkelijk )
en ik nam aan dat ik die sql string nodig had om de goede regel te selecteren (net als in het uitlezen )
Klopt, maar wat whoami en ik al zeggen. Aangezien CALLID een autoNUMMER is kan en moet je er geen Like 'nummer' op die. Gewoon CallID = nummer van maken

[ Voor 0% gewijzigd door LordLarry op 31-10-2002 10:56 . Reden: quote ]

We adore chaos because we like to restore order - M.C. Escher


  • whoami
  • Registratie: December 2000
  • Laatst online: 19:34
Lord_Mithril schreef op 31 oktober 2002 @ 10:55:
[...]

CALLID is een auto nummer veld (lekker makkelijk ;))
en ik nam aan dat ik die sql string nodig had om de goede regel te selecteren (net als in het uitlezen :?)
want bij het uitlezen van de calls (werkt perfect) gebruik ik dezelfde regels..
nu moet ik dus allen 1 dingetje aanpassen en nu werkt ie niet :?


Gebruik dan geen LIKE operator maar een =, en haal die quotes weg rond CALLID.
En om gegevens in een record aan te passen gebruik je idd geen SELECT maar een UPDATE.

https://fgheysels.github.io/


  • Fox-Web
  • Registratie: September 2000
  • Laatst online: 20-12-2024
----daar doen we niet aan mee----

[ Voor 0% gewijzigd door whoami op 31-10-2002 10:58 ]

Eat right. Stay fit. Die anyway.


  • LordMithril
  • Registratie: Augustus 2001
  • Laatst online: 17:44
als ik van Like een = maak wekt ie ook niet..
ik prober het idee van dexter wel ff
hehe fox.. no problem..
zodra dit werkt krijg jij em wel ff ;)

Bier, Whiskey en Metal!!


  • whoami
  • Registratie: December 2000
  • Laatst online: 19:34
Lord_Mithril schreef op 31 oktober 2002 @ 10:57:
als ik van Like een = maak wekt ie ook niet..
ik prober het idee van dexter wel ff

whoami schreef op 31 oktober 2002 @ 10:56:
[nohtml]
[...]
[/nohtml]

Gebruik dan geen LIKE operator maar een =, en haal die quotes weg rond CALLID.
En om gegevens in een record aan te passen gebruik je idd geen SELECT maar een UPDATE.


Met een select ga je enkel gegevens selecteren, hoe wil je ze dan aanpassen? Met een update.

https://fgheysels.github.io/


Verwijderd

Volgens mij heeft die SQL string helemaal geen nut.
Je doet er helemaal niks mee.
Visual Basic:
1
2
SQLstring = "SELECT CALLID FROM Call WHERE CALLID LIKE '" & CALLID & "' "
RS.Open "Call", DSN_CONNSTRING, adOpenKeyset, adLockPessimistic, adCmdTable


ik zou dan meer zoiets neerzetten
Visual Basic:
1
2
SQLstring = "SELECT CALLID FROM Call WHERE CALLID LIKE '" & CALLID & "' "
RS.Open SQLstring, DSN_CONNSTRING, adOpenKeyset, adLockPessimistic, adCmdTable

  • LordMithril
  • Registratie: Augustus 2001
  • Laatst online: 17:44
ik heb em als ErikvSon gebruikt.
en zo
ASP:
1
2
SQLstring = "UPDATE Commentaar FROM Call WHERE CALLID LIKE '" & CALLID & "' "
RS.Open SQLstring, DSN_CONNSTRING, adOpenKeyset, adLockPessimistic, adCmdTable


maar bij beide krijg ik
Microsoft OLE DB Provider for ODBC Drivers (0x80040E14)
[Microsoft][ODBC Microsoft Access-stuurprogramma] De component FROM bevat een syntaxisfout.
/call/invoer1.asp, line 35
en whoami ik heb t ook met update alleen geprobeerd.. maar dat werkte ook niet :?

Bier, Whiskey en Metal!!


  • Fox-Web
  • Registratie: September 2000
  • Laatst online: 20-12-2024
Lord_Mithril schreef op 31 oktober 2002 @ 10:57:
hehe fox.. no problem..
zodra dit werkt krijg jij em wel ff ;)
tnx alvast.

Whoami: Het is begrijpelijk dat je dit ziet als een script request maar dat was niet mijn bedoeling. Echt heel goed ken ik ASP nou ook weer niet maar met een paar boeken en concrete voorbeelden lukt het al aardig.

Eat right. Stay fit. Die anyway.


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Lord_Mithril schreef op 31 oktober 2002 @ 11:07:
ik heb em als ErikvSon gebruikt.
en zo
ASP:
1
2
SQLstring = "UPDATE Commentaar FROM Call WHERE CALLID LIKE '" & CALLID & "' "
RS.Open SQLstring, DSN_CONNSTRING, adOpenKeyset, adLockPessimistic, adCmdTable


maar bij beide krijg ik

[...]


en whoami ik heb t ook met update alleen geprobeerd.. maar dat werkte ook niet :?
Kijk even je SQL boeken door, want je hebt er gewoon een fout ingemaakt.

We adore chaos because we like to restore order - M.C. Escher


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Wat zeg ik? fout?! Je snapt de tip niet eens :p Begin eerst maar eens SQL te leren

We adore chaos because we like to restore order - M.C. Escher


  • whoami
  • Registratie: December 2000
  • Laatst online: 19:34
Pas nu eens eerst die WHERE clausule aan. Doe die like weg, vervang dat door een =, en doe die quotes rond CALLID weg.
Kijk ook eens inde SQL manual hoe je een UPDATE query schrijft.

SQL Tutorial

https://fgheysels.github.io/

Pagina: 1

Dit topic is gesloten.