[ASP] Error bij datumveld

Pagina: 1
Acties:

  • Fox-Web
  • Registratie: September 2000
  • Laatst online: 20-12-2024
Beste mensen,

Ik heb het volgende probleem. Ik heb een agenda admin pagina waar agenda punten toegevoegd kunnen worden in een Access database. Dit gaat normaal prima. Maar als er nu een datum wordt toegevoegd met mei als maand, dan krijg ik de volgende error:

code:
1
2
3
4
5
Microsoft Cursor Engine error '80040e21' 

Multiple-step operation generated errors. Check each status value. 

/admin_agenda_add.asp, line 39


Het gaat dus mis op de datum maar ik kan niet ontdekken waar het probleem nu in zit.
Dit is het formulier waar ook meteen de inhoud van de agenda weergegeven wordt:

code:
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
<!--#include file="dbconn.asp" -->
<%
Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
Response.Expires = -1

Session.LCID = 1043

Dim rsPro

'** Get initial recordset
Set rsPro = Server.CreateObject("ADODB.Recordset")
rsPro.ActiveConnection = strconn
rsPro.Source = "SELECT * FROM Agenda ORDER BY DATE"
rsPro.CursorType = 3
rsPro.CursorLocation = 3
rsPro.LockType = 3
rsPro.Open()
%>

<h3 align="center"><FONT face="verdana" size="3">Agenda Item Toevoegen</FONT></h3>

<FORM METHOD="POST" ACTION="admin_agenda_add.asp"> 
<TABLE align="center" STYLE="border: 1pt solid #53524E;">
<TR><TD><FONT face="verdana" size="2">Datum:</TD><TD>
<SELECT NAME="dag">
<OPTION>1</OPTION>
<OPTION>2</OPTION>
<OPTION>3</OPTION>
<OPTION>4</OPTION>
<OPTION>5</OPTION>
<OPTION>6</OPTION>
<OPTION>7</OPTION>
<OPTION>8</OPTION>
<OPTION>9</OPTION>
<OPTION>10</OPTION>
<OPTION>11</OPTION>
<OPTION>12</OPTION>
<OPTION>13</OPTION>
<OPTION>14</OPTION>
<OPTION>15</OPTION>
<OPTION>16</OPTION>
<OPTION>17</OPTION>
<OPTION>18</OPTION>
<OPTION>19</OPTION>
<OPTION>20</OPTION>
<OPTION>21</OPTION>
<OPTION>22</OPTION>
<OPTION>23</OPTION>
<OPTION>24</OPTION>
<OPTION>25</OPTION>
<OPTION>26</OPTION>
<OPTION>27</OPTION>
<OPTION>28</OPTION>
<OPTION>29</OPTION>
<OPTION>30</OPTION>
<OPTION>31</OPTION>
</SELECT>
<SELECT NAME="maand">
<OPTION>jan</OPTION>
<OPTION>feb</OPTION>
<OPTION>mar</OPTION>
<OPTION>apr</OPTION>
<OPTION>mei</OPTION>
<OPTION>jun</OPTION>
<OPTION>jul</OPTION>
<OPTION>aug</OPTION>
<OPTION>sep</OPTION>
<OPTION>okt</OPTION>
<OPTION>nov</OPTION>
<OPTION>dec</OPTION>
</SELECT>
<SELECT NAME="jaar">
<OPTION>2005</OPTION>
<OPTION>2006</OPTION>
<OPTION>2007</OPTION>
<OPTION>2008</OPTION>
<OPTION>2009</OPTION>
<OPTION>2010</OPTION>
</SELECT>



</TD></TR>
<TR><TD><FONT face="verdana" size="2">Activiteit:</TD><TD> <INPUT TYPE="TEXT" SIZE="40" NAME="Activiteit"></TD></TR>
<TR><TD><FONT face="verdana" size="2">Plaats:</TD><TD> <INPUT TYPE="TEXT" SIZE="40" NAME="Plaats"></TD></TR>
<TR><TD><FONT face="verdana" size="2">Leden info:</TD><TD> <INPUT TYPE="TEXT" SIZE=40" NAME="Leden_info"></TD></TR>
<TR><TD><FONT face="verdana" size="2"><INPUT TYPE="checkbox" NAME="Public" VALUE="1">Publiek</TD></TR>
<TR><TD colspan="2" align="center"><INPUT TYPE=SUBMIT VALUE="Toevoegen"></TD></TR>
</TABLE>
</FORM>
<BR><BR>


<TABLE align="center" border="0">
<TR>
    <TD align="center">
        <FONT FACE="verdana" SIZE="1" COLOR="000000">Zwart = Beschikbaar voor alle bezoekers</FONT><BR>
        <FONT FACE="verdana" SIZE="1" COLOR="0000C4">Blauw = Extra punten alleen beschikbaar voor leden</FONT><BR>
        <FONT FACE="verdana" SIZE="1" COLOR="C40000">Rood = Extra informatie alleen voor leden</FONT><BR><BR>
    </TD>
</TR>
</TABLE>

<% If rsPro.RecordCount = 0 Then %>
<CENTER><FONT size=3 color="000000">Er staan op het moment geen agenda punten in de database.</FONT></CENTER>
<% Response.End %>
<% End If %>
<table width="600" STYLE="border: 1pt solid #808080; ">
<tr>
    <td></td>
    <td align="right" width=150><strong><font face="Verdana" size="2">Datum:</font></strong></td>
    <td align="right" width=225><strong><font face="Verdana" size="2">Activiteit:</font></strong></td>
    <td align="right" width=225><strong><font face="Verdana" size="2">Plaats:</font></strong></td>
    <td align="right" width=225><strong><font face="Verdana" size="2" COLOR="#C40000">Leden Info:</font></strong></td>
</tr>
<% while NOT rsPro.EOF %>
        <tr>
            <% if rsPro("public") = "1" then %>
            <td><A Href="admin_agenda_del.asp?id=<%= rsPro("Id")%>">[img]"pix/del.gif"[/img]</A></td>
            <td align="right" width=150><font face="Verdana" size="2"><%= rsPro("date")%></font></td>
            <td align="right" width=225><font face="Verdana" size="2"><%= rsPro("event") %></font></td>
            <td align="right" width=225><font face="Verdana" size="2"><%= rsPro("place") %></font></td>
            <td align="right" width=225><font face="Verdana" size="2" COLOR="#C40000"><%= rsPro("leden_info") %></font></td>
            <% else %>
                <td><A Href="admin_agenda_del.asp?id=<%= rsPro("Id")%>">[img]"pix/del.gif"[/img]</A></td>
                <td align="right" width=150><font face="Verdana" size="2" COLOR="#0000c4")><%= rsPro("date")%></font></td>
                <td align="right" width=225><font face="Verdana" size="2" COLOR="#0000c4"><%= rsPro("event") %></font></td>
                <td align="right" width=225><font face="Verdana" size="2" COLOR="#0000c4"><%= rsPro("place") %></font></td>
                <td align="right" width=225><font face="Verdana" size="2" COLOR="#C40000"><%= rsPro("leden_info") %></font></td>
            <% End If %>

        </tr>
    <% rsPro.MoveNext %>
<% wend %>
</table>



En dit is de ASP code om de gegevens toe te voegen aan de database:

code:
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
45
46
47
48
49
50
<!--#include file="dbconn.asp" -->
<%
If Session("blnIsUserGood") = False or IsNull(Session("blnIsUserGood")) = True then
    'Redirect to homepage
    Response.Redirect"index.asp?varpage=Geentoegang2"
End If

Response.CacheControl = "no-cache"
Response.AddHeader "Pragma", "no-cache"
Response.Expires = -1

Session.LCID = 1043

Dim dag
Dim maand
Dim jaar
Dim rsPro
Dim plaats
Dim activiteit

Dag = Request.Form("Dag")
maand = Request.Form("maand")
jaar = Request.Form("jaar")
plaats = Request.Form("Plaats")
activiteit = Request.Form("Activiteit")

Datum = dag & "-" & maand & "-" & jaar

'** Get initial recordset
Set rsPro = Server.CreateObject("ADODB.Recordset")
rsPro.ActiveConnection = strconn
rsPro.Source = "SELECT * FROM agenda"
rsPro.CursorType = 3
rsPro.CursorLocation = 3
rsPro.LockType = 3
rsPro.Open()
rsPro.AddNew()

rsPro.Fields.Item("date").Value = Datum
rsPro.Fields.Item("event").Value = activiteit
rsPro.Fields.Item("place").Value = Plaats
rsPro.Fields.Item("leden_info").Value = Request.Form("Leden_info")
rsPro.Fields.Item("public").Value = Request.Form("Public")

rsPro.Update()
rsPro.Close()

response.redirect("index.asp?varpage=admin_agenda")

%>

Eat right. Stay fit. Die anyway.


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

Waarom doe je het niet simpelweg met een INSERT SQL statement? Je lijkt hier verder niets te doen met de waardes die je selecteert, dus waarom zou je überhaupt eerst selecteren?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • faabman
  • Registratie: Januari 2001
  • Laatst online: 08-08-2024
mag de maand eigenlijk wel uit letters bestaan???

kun je niet beter doen

ASP:
1
2
3
For I = 1 To 12
  Response.Write("<option value=""" & I & """>" & MonthName(I) & "</option>")
Next


Ik zal verder niets zeggen over het:
- verkeerd gebruik van HTML
- verkeerd gebruik van ASP / SQL

oeps, doe ik het toch ;)

Op zoek naar een baan als Coldfusion webdeveloper? Mail me!


  • Rowanov
  • Registratie: Februari 2004
  • Niet online

Rowanov

Kop eens wat anders...

Een tip, als je dan toch bezig bent met server side dingen; maak dan die hele option list gewoon met een simpel loopje, dat houdt de dingen overzichtelijk.

  • Fox-Web
  • Registratie: September 2000
  • Laatst online: 20-12-2024
faabman schreef op dinsdag 15 februari 2005 @ 19:22:
mag de maand eigenlijk wel uit letters bestaan???

kun je niet beter doen

ASP:
1
2
3
For I = 1 To 12
  Response.Write("<option value=""" & I & """>" & MonthName(I) & "</option>")
Next


Ik zal verder niets zeggen over het:
- verkeerd gebruik van HTML
- verkeerd gebruik van ASP / SQL

oeps, doe ik het toch ;)
Verkeerd gebruik van HTML en ASP weer ik maar moest ff snel wat in elkaar gooien en ja, dat hoort dan meteen op de juiste manier maar het is ff niet anders. :P

De maand mag gewoon uit letters bestaan omdat ik in cijfers met die notatie zit. Dan zet ie het of in het engelse of in het nedelandse notatie en da's blijkbaar knap klote om goed te krijgen. :(
-NMe- schreef op dinsdag 15 februari 2005 @ 19:17:
Waarom doe je het niet simpelweg met een INSERT SQL statement? Je lijkt hier verder niets te doen met de waardes die je selecteert, dus waarom zou je überhaupt eerst selecteren?
Dit ga ik iig ff proberen of het dan wel goed gaat.
Dat krijg je he, ff snel copy pasten en je hebt zo een hoop troep die je eigenlijk nit nodig hebt.

Eat right. Stay fit. Die anyway.


  • Fox-Web
  • Registratie: September 2000
  • Laatst online: 20-12-2024
Waarom krijg ik hierop een "Syntax error in INSERT INTO statement" foutmelding:

code:
1
2
3
4
SQL = "INSERT INTO Agenda (Datum, Activiteit, Plaats, Leden_Info, Publiek)
VALUES (" & Datum & ", " & activiteit & ", " & Plaats & ", " & Leden_Info & ", " & Publiek & ")"

Set Rs = rsPro.Execute(SQL)


Staat toch allemaal goed? Of kijk ik nu ergens overheen?

Eat right. Stay fit. Die anyway.


  • CaptBiele
  • Registratie: Juni 2002
  • Laatst online: 27-08-2021

CaptBiele

No Worries!

Je moet single quotjes gebruiken om je parameters....

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 00:54

crisp

Devver

Pixelated

Intentionally left blank


  • Fox-Web
  • Registratie: September 2000
  • Laatst online: 20-12-2024

Eat right. Stay fit. Die anyway.


  • NMe
  • Registratie: Februari 2004
  • Laatst online: 15-04 22:07

NMe

Quia Ego Sic Dico.

CaptBiele schreef op dinsdag 15 februari 2005 @ 21:15:
Je moet single quotjes gebruiken om je parameters....
...maar alleen als het geen getallen zijn. ;)
Om datumwaarden moet je bij Access zelfs nog meer eromheen zetten meen ik me te herinneren:
code:
1
INSERT INTO tabel (datumveld) VALUES ('#12-12-2004#')

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


  • Fox-Web
  • Registratie: September 2000
  • Laatst online: 20-12-2024
-NMe- schreef op dinsdag 15 februari 2005 @ 22:03:
[...]

...maar alleen als het geen getallen zijn. ;)
Om datumwaarden moet je bij Access zelfs nog meer eromheen zetten meen ik me te herinneren:
code:
1
INSERT INTO tabel (datumveld) VALUES ('#12-12-2004#')
Wel of geen getallen, ik heb er nu enkele quotjes omheen staan maar hij zet nu gewoon de variabelen bij naam in de database!

Eat right. Stay fit. Die anyway.


  • Fox-Web
  • Registratie: September 2000
  • Laatst online: 20-12-2024
Nou, ik ben er uit hoor!

Dit moet de Insert string zijn:
code:
1
2
SQL = "INSERT INTO Agenda (Datum, Event, Place, Leden_Info, Publiek) 
VALUES (#" & Datum & "#, '" & activiteit & "', '" & Plaats & "', '" & Leden_Info & "', '" & Publiek & "')"


Dus oneindig veel haakjes en #jes om een datum veld. :P

Ook het mei probleem in opgelost. Blijkbaar moet access deze verkorte vormen is Engelse notatie hebben. |:(
Dus mei moet may worden en okt moet oct worden. De rest is in het engels hetzelfde. Stom zeg! Dat ik dat niet gezien heb.
In ieder geval bedankt voor de oplossingen en het meedenken!

Eat right. Stay fit. Die anyway.

Pagina: 1