Avatar billede yuksel Nybegynder
22. november 2003 - 14:29 Der er 35 kommentarer og
1 løsning

fejl i asp og db

jeg har  et problem med min side som jeg ikke helt forstår?

er der nogen der ved hvad dette betyder!

Error Type:
Microsoft JET Database Engine (0x80040E14)
Invalid SQL statement; expected 'DELETE', 'INSERT', 'PROCEDURE', 'SELECT', or 'UPDATE'.
/ss/testss/2.asp, line 32



og linje 32 står der =rsUser.open "users", conn, 3, 3



mere af koden er=
<%
Set rsUser = Server.CreateObject("ADODB.Recordset")
rsUser.open "users", conn, 3, 3
rsUser.AddNew
rsUser("pakke_nr") = pakke_nr
rsUser.Update

%>
Avatar billede thesurfer Nybegynder
22. november 2003 - 14:34 #1
Der er flere måder at indsætte data i en database.. du har sikkert blandet dem sammen..

en måde (som den sikkert forventer) er med "INSERT":
http://html.dk/tutorials/asp/lektion20.asp
Avatar billede yuksel Nybegynder
22. november 2003 - 14:37 #2
hej med dig igen :)...
jeg har læst det der og lavet noget helt anderledes! men nu dukker der et dum fejl op som driller
Avatar billede thesurfer Nybegynder
22. november 2003 - 14:38 #3
kender 2 måder (der er sikkert flere):
1) med en sql streng og "insert" > conn.execute
2) rs.addnew > din data > rs.update.

nr 2 er jeg ikke fortrolig med.
Avatar billede thesurfer Nybegynder
22. november 2003 - 14:38 #4
Her eller i det andet spm?
Avatar billede yuksel Nybegynder
22. november 2003 - 14:39 #5
jeg har 2 filer nu, den ene har jeg placeret min tekstboks på og den anden kun processen.

dette er proccesen ..
<%
Option Explicit
Dim sql,pakke_nr,rsUser





pakke_nr = Request.Form("pakke_nr")






if pakke_nr = "" then
    notfilled(0) = "pakke_nr"
   
end if






'Open connection and insert user details into the database
%>
<!--#include file="conn.asp"-->
<%


Set rsUser = Server.CreateObject("ADODB.Recordset")
rsUser.open "input", conn, 3, 3
rsUser.AddNew
rsUser("pakke_nr") = pakke_nr
rsUser.Update

%>
<html>

<head>

<title>D-soft</title>


</head>

<body background="nth_deep_blue_bg.gif" bgcolor="navy" text="silver" link="#FFFF80" vlink="gray" alink="#16BDE0">
           
<%
rsUser.close
set rsUser = nothing
conn.close
set conn = nothing
%>
Avatar billede yuksel Nybegynder
22. november 2003 - 14:41 #6
jamen det her er et andet måde at lave den
Avatar billede thesurfer Nybegynder
22. november 2003 - 14:42 #7
brug den i lektion 20.. den virker.. :)
med andre ord: den kan jeg finde ud af :)
Avatar billede yuksel Nybegynder
22. november 2003 - 14:43 #8
jamen der har vi jo det problem vi ikke kunne rette!
Avatar billede yuksel Nybegynder
22. november 2003 - 14:43 #9
den med conn.execute
Avatar billede yuksel Nybegynder
22. november 2003 - 14:44 #10
skal vi gå over til det andet spørgesmål :)
Avatar billede thesurfer Nybegynder
22. november 2003 - 14:45 #11
Det ved jeg ikke.. hvilke spm er det du snakker om ? :)
jeg troede det var det her spm.. er det ikke det? :)
Avatar billede yuksel Nybegynder
22. november 2003 - 14:48 #12
vent lige jeg trore jeg ved at løse det :)
Avatar billede yuksel Nybegynder
22. november 2003 - 14:52 #13
nej ikke alligevel
Avatar billede yuksel Nybegynder
22. november 2003 - 14:53 #14
nej nu bliver jeg forviret det andet spørgesmål lukker jeg omlidt :)
og bliver på denne.
Avatar billede thesurfer Nybegynder
22. november 2003 - 14:54 #15
1) Skal vi gætte på hvad fejl du får, eller har du tænkt dig at os det? :)
2) og er det det her sm du snakker om?

Husk, når du vil fortælle om en fejl:
Inkluder:
* nøjagtig fejlmeddelelse,
* linie nr og linie
* evt hjemmelavede funktioner
* osv..
Avatar billede thesurfer Nybegynder
22. november 2003 - 14:55 #16
Vil det sige at du har problemet i det andet spm er løst, og at du er klar til at give points?

Ellers skal du jo IKKE lukke det :)
Avatar billede yuksel Nybegynder
22. november 2003 - 15:00 #17
ok, meningen var jo at jeg gerne vil lave flere tekstboks og lad brugeren insætte nogle ting der som skal går over til databasen.
så oprettet jeg den andet spørgesmål og der kom du med en måde og den kunne jeg så ikke få til at virke og derefter sagde du til mig at jeg skulle læse det der, og det gjorde jeg og på den måde fandt jeg en ny måde at gøre tingene på. og der jeg ikke kunne komme ud af det lavede jeg tingene på et andet mådet (det her spørgesmål).
derfor vil jeg nu lukke det andet spørgesmål for at ikke blive mere forviret.
og mht poine for det andet spørgesmål dem har jeg tænkt at give dig da jeg alligevel fik meget ud af det :)
Avatar billede thesurfer Nybegynder
22. november 2003 - 15:06 #18
OK.. så er jeg med..
Jeg tænker lige en gang, og så skriver jeg et eller andet.. :)
Avatar billede yuksel Nybegynder
22. november 2003 - 15:08 #19
jeg kan godt sende det til dig hvis du vil se nærmere på det
Avatar billede thesurfer Nybegynder
22. november 2003 - 15:18 #20
Nej, lad det være på eksperten, så andre kan få noget ud af det også..
Avatar billede yuksel Nybegynder
22. november 2003 - 15:20 #21
ok :)
Avatar billede thesurfer Nybegynder
22. november 2003 - 15:31 #22
OK.. så er jeg her igen.
Det jeg vil have dig til at gøre, er følgende:
Skriv, med hele sætninger, præcis hvad du vil ha', at der skal ske med den kode du bruger i dette spm.

Det er fordi jeg er lidt forvirret..

Jeg tror at det er det her du vil:
- Du har nogle tekstbokse.
- Dem kan brugeren skrive noget i.
- Det brugeren har skrevet gemmes i databasen.

Er der andet? Hvis ja, skriv hvad det er.. og ikke bare "ja", selvom det er oplagt at gøre det :)
Avatar billede yuksel Nybegynder
22. november 2003 - 16:08 #23
ok, jeg har en fil der hedder input.asp


<html>

<head>
<meta http-equiv="Content-Language" content="da">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Opret Billetter</title>


</head>

<body>

<table width="100%" border="0" cellspacing="0" cellpadding="0" bgcolor="#336699" id="table6" height="37">                                                                   
<tr><td>
&nbsp;</td></tr></table>



        <DIV ALIGN="center">
        <TABLE STYLE="border-right:1px solid #C0C0C0; border-bottom:1px solid #C0C0C0; background-color:#FFFFFF;border-left-style:solid; border-left-width:1px; border-top-style:solid; border-top-width:1px" id="table7" height="613" width="377"><TR><TD STYLE="padding:4px;">
        <p align="center"><u><font color="#336699" size="4"><b>Administration af
        Indkøb af billetter.</b></font></u></TD></TR><TR>
                <TD STYLE="padding:4px;" height="577">
        <TABLE id="table8" width="379" border="1" bordercolor="#CCCCCC" bgcolor="#FFFFFF" cellspacing="1">
                <TR>
            <form action="2.asp" method="post">   
            <TD CLASS="nowrap" width="96"><font color="#666666"><B>pakke nr.</B></font></TD>
            <TD width="270" align="center">
            <input type="text" name="pakke_nr" size="20"></TD>
           
        </TR>
                <TR>
            <TD CLASS="nowrap" width="96"><font color="#666666"><b>billetter fra</b></font></TD>
            <TD width="270" align="center">
            <input type="text" name="fra_by" size="20"></TD>
        </TR>
        <TR>
            <TD CLASS="nowrap" width="96"><font color="#666666"><b>billetter til
            </b></font></TD>
            <TD width="270" align="center">
            <p align="center"><input type="text" name="til_by" size="20"></TD>
        </TR>
                <tr>
            <TD CLASS="nowrap" width="96"><font color="#666666"><b>afgangs dato
            </b></font></TD>
            <TD width="270" align="center">
            <p align="center"><input type="text" name="afgangs_dato" size="20"></TD>
                </tr>
                    <tr>
            <TD CLASS="nowrap" width="96"><font color="#666666"><b>afgangs tid</b></font></TD>
            <TD width="270" align="center">
            <input type="text" name="afgangs_tid" size="20"></TD>
                </tr>
                    <tr>
            <TD CLASS="nowrap" width="96"><font color="#666666"><b>ankomst tid </b>
            </font></TD>
            <TD width="270" align="center">
            <input type="text" name="ankomst_tid" size="20"></TD>
                </tr>
                    <tr>
            <TD CLASS="nowrap" width="96"><font color="#666666"><b>fly selskab</b></font></TD>
            <TD width="270" align="center">
            <input type="text" name="fly_selskab" size="20"></TD>
                </tr>
                    <tr>
            <TD CLASS="nowrap" width="96"><font color="#666666"><b>Billet pris</b></font></TD>
            <TD width="270" align="center">
            <input type="text" name="billet_pris" size="20"></TD>
                </tr>
                    <tr>
            <TD CLASS="nowrap" width="96" height="27"><font color="#666666"><b>
            flight nr.</b></font></TD>
            <TD width="270" align="center" height="27">
            <input type="text" name="flight_nr" size="20"></TD>
                </tr>
        <TR>
            <TD COLSPAN="2" bordercolor="#FFFFFF" height="134" bgcolor="#FFFFFF">
            &nbsp;<br>
            <br>
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </TD>
        </TR>
        <TR>
            <TD COLSPAN="2" bordercolor="#FFFFFF" height="186" bgcolor="#FFFFFF">
            &nbsp;<p>&nbsp;</p>
            <p>&nbsp;</p>
            <p>&nbsp;</p>
            <p align="right">
            <input type="submit" value="Gem"></TD>
            </form>
        </TR>
                </TABLE>
        </TD></TR></TABLE>
        </DIV>
       

</body>

</html>
Avatar billede yuksel Nybegynder
22. november 2003 - 16:08 #24
den indholder html
Avatar billede yuksel Nybegynder
22. november 2003 - 16:09 #25
og så har jeg en fil som hedder inputprocces:

<%
Option Explicit
Dim sql,firstname,rsUser,pakke_nr,fra_by,til_by,afgangs_dato,afgangs_tid,ankomst_tid,fly_selskab,billet_pris,flight_nr,dob,notfilled(8),count







pakke_nr = Request.Form("pakke_nr")
fra_by = Request.Form("fra_by")
til_by = Request.Form("til_by")
afgangs_dato = Request.Form("afgangs_dato")
afgangs_tid = Request.Form("afgangs_tid")
ankomst_tid = Request.Form("ankomst_tid")
fly_selskab = Request.Form("fly_selskab")
billet_pris = Request.Form("billet_pris")
flight_nr = Request.Form("flight_nr")






if pakke_nr = "" then
    notfilled(0) = "pakke_nr"
end if
if fra_by = "" then
    notfilled(1) = "fra_by"
end if
if til_by = "" then
    notfilled(2) = "til_by"
end if
if afgangs_dato = "" then
    notfilled(3) = "afgangs_dato"
end if
if afgangs_tid = "" then
    notfilled(4) = "afgangs_tid"
end if
if ankomst_tid = "" then
    notfilled(5) = "ankomst_tid"
end if
if fly_selskab = "" then
    notfilled(6) = "fly_selskab"
end if
if billet_pris = "" then
    notfilled(7) = "billet_pris"
end if
if flight_nr = "" then
    notfilled(8) = "flight_nr"
end if




'Open connection and insert user details into the database
%>
<!--#include file="conn.asp"-->
<%




Set rsUser = Server.CreateObject("ADODB.Recordset")
rsUser.open "input", conn, 3, 3
rsUser.AddNew
rsUser("pakke_nr") = pakke_nr
rsUser("fra_by") = fra_by
rsUser("til_by") = til_by
rsUser("afgangs_dato") = afgangs_dato
rsUser("afgangs_tid") = afgangs_tid
rsUser("ankomst_tid") = ankomst_tid
rsUser("fly_selskab") = fly_selskab
rsUser("billet_pris") =billet_pris
rsUser("flight_nr") = flight_nr

rsUser.Update
rsUser.close
set rsUser = nothing
conn.close
set conn = nothing

%>
<html>

<head>

<title>D-soft</title>


</head>

<body background="nth_deep_blue_bg.gif" bgcolor="navy" text="silver" link="#FFFF80" vlink="gray" alink="#16BDE0">
Avatar billede yuksel Nybegynder
22. november 2003 - 16:11 #26
i input.asp har jeg ca.9 tekstbokse + en knap- når jeg trykker den så kørere den over til inputprocces.asp  som skal sørge for at datane blive lageret ind i databasen.
(for en sikkerheds skyld er alle mine felter i databsen af typen tekst)
Avatar billede yuksel Nybegynder
22. november 2003 - 16:13 #27
****Jeg tror at det er det her du vil:
**** Du har nogle tekstbokse.
***Dem kan brugeren skrive noget i.
***Det brugeren har skrevet gemmes i databasen.
ja det er rigtigt det er det her jeg vil, og jeg har alle tekstboksne i input.asp og resten i den anden.
Avatar billede yuksel Nybegynder
22. november 2003 - 16:17 #28
fejlen kommer i linje 32 står der =rsUser.open "users", conn, 3, 3
Avatar billede thesurfer Nybegynder
22. november 2003 - 16:30 #29
1)
Denne her del forstår jeg ikke:
if pakke_nr = "" then
    notfilled(0) = "pakke_nr"
end if
if......

Hvis der ikke står noget i tekstboksen pakke_nr, skal indholdet være selve teksten "pakke_nr"?

2)
Må en eller flere felter være tomme?
Avatar billede thesurfer Nybegynder
22. november 2003 - 17:28 #30
Det her burde virke.. her er databasen placeret sammen med asp filen der gemmer data..
Du skal nok rette:
* stien til database.. for at være sikker på at det ikke er det der er galt, placer databasen sammen med asp filen..
* navnet på din tabel.. er det "input"? Det kan være at input er reseveret.. ændre det og se om det virker..

<%
option explicit
response.buffer = false

dim pakke_nr,fra_by,til_by,afgangs_dato,afgangs_tid,ankomst_tid,fly_selskab,billet_pris,flight_nr

pakke_nr = Request.Form("pakke_nr")
fra_by = Request.Form("fra_by")
til_by = Request.Form("til_by")
afgangs_dato = Request.Form("afgangs_dato")
afgangs_tid = Request.Form("afgangs_tid")
ankomst_tid = Request.Form("ankomst_tid")
fly_selskab = Request.Form("fly_selskab")
billet_pris = Request.Form("billet_pris")
flight_nr = Request.Form("flight_nr")

' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("./mindb.mdb")
Conn.Open DSN

' SQL sætning opbygges
strSQL = "Insert into TABELNAVN ("

strSQL = strSQL & "pakke_nr, "
strSQL = strSQL & "fra_by, "
strSQL = strSQL & "til_by, "
strSQL = strSQL & "afgangs_dato, "
strSQL = strSQL & "afgangs_tid, "
strSQL = strSQL & "ankomst_tid, "
strSQL = strSQL & "fly_selskab, "
strSQL = strSQL & "billet_pris, "
strSQL = strSQL & "flight_nr) "

strSQL = strSQL & "values( "

strSQL = strSQL & "'" & pakke_nr & "', "
strSQL = strSQL & "'" & fra_by & "', "
strSQL = strSQL & "'" & til_by & "', "
strSQL = strSQL & "'" & afgangs_dato & "', "
strSQL = strSQL & "'" & afgangs_tid & "', "
strSQL = strSQL & "'" & ankomst_tid & "', "
strSQL = strSQL & "'" & fly_selskab & "', "
strSQL = strSQL & "'" & billet_pris & "', "
strSQL = strSQL & "'" & flight_nr & "')"

' SQL sætning eksekveres
Conn.Execute(strSQL)

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing

response.write "Data er indsat"
%>
Avatar billede thesurfer Nybegynder
22. november 2003 - 18:14 #31
Jeg har lavet et eksempel her:
http://frip.dk/thesurfer/e/q/430968

Håber det er noget du kan bruge.
Avatar billede thesurfer Nybegynder
22. november 2003 - 18:40 #32
info om linket:
- db'en hedder "mindb" og er placeret sammen med asp filerne
- asp filerne hedder form.asp, og save.asp.. skal rettes i din form (action="save.asp").
- Kildekode/Source Code er inkluderet i eksemplet
- tabellen hedder tblBooking (felterne hedder det de hed fra starten af)

Jeg har allerede skrevet noget i felterne, så du kan nøjes med at klikke "Gem".
Da jeg ikke ved om felterne må være tomme, har jeg valgt ikke at tillade tomme felter.

Er der andet, spørger du bare..
Avatar billede yuksel Nybegynder
23. november 2003 - 18:13 #33
hej. jeg har taget det her.
<%
Option Explicit

dim pakke_nr,fra_by,til_by,afgangs_dato,afgangs_tid,ankomst_tid,fly_selskab,billet_pris,flight_nr
dim TomtFelt, i

response.write "<font style='font-family: tahoma; font-size: 12px'>"

for each i in request.form
  if request.form(i) = "" then TomtFelt = true
next

if TomtFelt = false then
' alt er OK!

pakke_nr = replace(Request.Form("pakke_nr"), "'", "''")
fra_by = replace(Request.Form("fra_by"), "'", "''")
til_by = replace(Request.Form("til_by"), "'", "''")
afgangs_dato = replace(Request.Form("afgangs_dato"), "'", "''")
afgangs_tid = replace(Request.Form("afgangs_tid"), "'", "''")
ankomst_tid = replace(Request.Form("ankomst_tid"), "'", "''")
fly_selskab = replace(Request.Form("fly_selskab"), "'", "''")
billet_pris = replace(Request.Form("billet_pris"), "'", "''")
flight_nr = replace(Request.Form("flight_nr"), "'", "''")

dim Conn, DSN, strSQL

' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("AnatolienRejser.mdb")
Conn.Open DSN

' SQL sætning opbygges
strSQL = "Insert into input ("

strSQL = strSQL & "pakke_nr, "
strSQL = strSQL & "fra_by, "
strSQL = strSQL & "til_by, "
strSQL = strSQL & "afgangs_dato, "
strSQL = strSQL & "afgangs_tid, "
strSQL = strSQL & "ankomst_tid, "
strSQL = strSQL & "fly_selskab, "
strSQL = strSQL & "billet_pris, "
strSQL = strSQL & "flight_nr) "

strSQL = strSQL & "values( "

strSQL = strSQL & "'" & pakke_nr & "', "
strSQL = strSQL & "'" & fra_by & "', "
strSQL = strSQL & "'" & til_by & "', "
strSQL = strSQL & "'" & afgangs_dato & "', "
strSQL = strSQL & "'" & afgangs_tid & "', "
strSQL = strSQL & "'" & ankomst_tid & "', "
strSQL = strSQL & "'" & fly_selskab & "', "
strSQL = strSQL & "'" & billet_pris & "', "
strSQL = strSQL & "'" & flight_nr & "')"

' SQL sætning eksekveres
Conn.Execute(strSQL)

' Luk databaseforbindelse
Conn.Close
Set Conn = Nothing

response.write "<a href='form.asp'>Tilbage til formen</a>"
response.write "<br><br>Data er gemt."
response.write "<br><br>Se <a href='source.asp'>Kildekoden/Source Code</a>"
response.write "<br><br>Hele listen (nyeste øverst):<br>"

dim rs
' Databaseforbindelse - husk at angive sti til din database
Set Conn = Server.CreateObject("ADODB.Connection")
DSN = "DRIVER={Microsoft Access Driver (*.mdb)}; "
DSN = DSN & "DBQ=" & Server.MapPath("mindb.mdb")
Conn.Open DSN

' SQL forespørgsel
strSQL = "Select * From tblBooking Order by id Desc"
' Udfør forespørgsel (rs indeholder nu resultatet)
Set rs = Conn.Execute(strSQL)

' Gennemløb RecordSet (rs) med en løkke
if (not rs.bof) and (not rs.eof) then
do while not rs.eof

response.write "<hr>"
response.write "pakke_nr: " & rs("pakke_nr") & "<br>"
response.write "fra_by: " & rs("fra_by") & "<br>"
response.write "til_by: " & rs("til_by") & "<br>"
response.write "afgangs_dato: " & rs("afgangs_dato") & "<br>"
response.write "afgangs_tid: " & rs("afgangs_tid") & "<br>"
response.write "ankomst_tid: " & rs("ankomst_tid") & "<br>"
response.write "fly_selskab: " & rs("fly_selskab") & "<br>"
response.write "billet_pris: " & rs("billet_pris") & "<br>"
response.write "flight_nr: " & rs("flight_nr")
rs.movenext

loop

else
    response.write "Ingen data i databasen."
end if
' Luk databaseforbindelse

rs.close
Set rs = Nothing
Conn.Close
Set Conn = Nothing

else
    response.write "Der må ikke være tomme felter!"
    response.write "<br><a href='form.asp'>Tilbage til formen</a>"
end if

response.write "</font>"
%>

men den visser fejl igen men jeg trore der nogen galt med databasen!
ellers har jeg vist ikke nået at downloade alt det der
Avatar billede yuksel Nybegynder
23. november 2003 - 18:51 #34
er du der ?
Avatar billede yuksel Nybegynder
24. november 2003 - 11:32 #35
Jeg har fikset det :)
kan du ikke indlægge en svar, så du kan få nogle point af mig !

tak for hjælpen :)
Avatar billede thesurfer Nybegynder
25. november 2003 - 21:23 #36
Det var så lidt.
- Her er et svar :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester