Avatar billede gatez Nybegynder
06. marts 2003 - 22:22 Der er 16 kommentarer og
1 løsning

Database virker ikke

Hejsa,

Jeg har et lille problem med min kode... Det er en kode som skal oprette en ny bilmodel i en databse og en masse oplysninger samt et billede som uploades via ASPSimpleUpload men det virker ikke... Den laver et nyt ID i databasen men uden data... Dvs. en hel masse tome felter og billede bliver heller ikke uploadet. Upload scriptet skulle ellers virke jeg bruger det samme et andet sted hvor det virker... ER der nogle som kan se fejlsen ?

Her er koden til at oprette i databasen og uploade billedet:

<%

Dim upl, NewFileName
 
Set upl = Server.CreateObject("ASPSimpleUpload.Upload")
 
If Len(upl.Form("billede1")) > 0 Then
    NewFileName = "/Images/UserBiler/" & upl.ExtractFileName(upl.Form("billede1"))
    If upl.SaveToWeb("billede1", NewFileName) Then
        Response.Write("Billede blev uploadet på server så ")
    Else
        Response.Write("Fejl! Billedet blev ikke uploadet men ")
    End If
End If

strConnect = "PROVIDER=MSDASQL;DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.MapPath("../Database/bodykits.dk/brugersystem.mdb") & ";UID=admin;PWD=;"
Set objConn = Server.CreateObject("ADODB.Connection")
call objConn.Open(strConnect)

BrugerId = upl.Form("BrugerId")
bilmarke = upl.Form("bilmarke")
bilmodel = upl.Form("bilmodel")
aar = upl.Form("aar")
mortor = upl.Form("mortor")
hk = upl.Form("hk")
falge = upl.Form("falge")
daak= upl.Form("daak")
undervogn = upl.Form("undervogn")
bilstereo = upl.Form("bilstereo")
styling = upl.Form("styling")
interior = upl.Form("interior")
udstyr = upl.Form("udstyr")
bemarkninger = upl.Form("bemarkninger")
billede1 = upl.ExtractFileName(upl.Form("billede1"))

strINSERT = "INSERT INTO brugerbiler (BrugerId, bilmarke, bilmodel, aar, mortor, hk, falge, daak, undervogn, bilstereo, styling, interior, udstyr, bemarkninger, billede1) VALUES ( '"
    strINSERT = strINSERT &  BrugerId & "', '" & bilmarke & "', '" & bilmodel & "', '" & aar & "', '" & mortor & "', '" & hk & "', '" & falge & "', '" & daak & "', '" & undervogn & "', '" & bilstereo & "', '" & styling & "', '" & interior & "', '" & udstyr & "', '" & bemarkninger & "', '" & billede1 & "')"
 
    call objConn.execute(strINSERT)
objConn.close()
Response.Write("bilen er nu oprettet!")
%>
Avatar billede gatez Nybegynder
06. marts 2003 - 22:24 #1
Kan det ikke gøres på en nemmere måde ? Det enste jeg skal er at tilføje data til databasen samt uploade et billede og gemme filnavnet i databasen...
Jeg vil bare kun bruge komponenten ASPSimpleUpload
Avatar billede hastek22 Nybegynder
06. marts 2003 - 22:52 #2
Er det på samme webhotel du anvender scriptet ?
Hvis ikke er du så sikker på at begge webhoteller understøtter ASPSimpleUpload ?
Avatar billede hastek22 Nybegynder
06. marts 2003 - 23:02 #3
Ligesom du har defineret følgende:
Dim upl, NewFileName

skal du på nogle webhoteller definere:
Dim objConn, strINSERY
Dim BrugerId, bilmarke,.....
Avatar billede loukas Mester
06. marts 2003 - 23:10 #4
hmmm, får du en fejl ??

Og hvordan er din <FORM action.osv...> ??
Avatar billede gatez Nybegynder
06. marts 2003 - 23:50 #5
Det er på samme server men 2 forskællige databaser... Men begget 2 er Access 2002.

Min form:
<form method="post" action="addusercar-gem.asp" id="form" name="form" enctype="multipart/form-data">
Avatar billede gatez Nybegynder
06. marts 2003 - 23:52 #6
Jeg har lavet lidt om i koden så nu kan de godt uploade filen men ikke gemme i databasen.

Jeg for denne fejl:

File successfully written to disk.
Microsoft VBScript runtime error '800a01f4'

Variable is undefined: 'strConnect'

/addusercar-gem.asp, line 18


Og her er min nye kode:
--------------------------------
<%

Option Explicit
 
Dim upl, NewFileName
 
Set upl = Server.CreateObject("ASPSimpleUpload.Upload")
 
If Len(upl.Form("File1")) > 0 Then
    NewFileName = "/images/userbiler/" & upl.ExtractFileName(upl.Form("File1"))
    If upl.SaveToWeb("File1", NewFileName) Then
        Response.Write("File successfully written to disk.") 
    Else
        Response.Write("There was an error saving the file to disk.")
    End If
End If

strConnect = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.Mappath("../database/bodykits.dk/brugersystem.mdb")
Set objConn = Server.CreateObject("ADODB.Connection")
call objConn.Open(strConnect)
           
BrugerId = upl.Form("BrugerId")
bilmarke = upl.Form("bilmarke")
bilmodel = upl.Form("bilmodel")
aar = upl.Form("aar")
mortor = upl.Form("mortor")
hk = upl.Form("hk")
falge = upl.Form("falge")
daak = upl.Form("daak")
undervogn = upl.Form("undervogn")
bilstereo = upl.Form("bilstereo")
styling = upl.Form("styling")
interior = upl.Form("interior")
udstyr = upl.Form("udstyr")
bemarkninger = upl.Form("bemarkninger")
File1 = upl.ExtractFileName(upl.Form("File1"))


strINSERT = "INSERT INTO BrugerBiler (BrugerId, bilmarke, bilmodel, aar, mortor, hk, falge, daak, undervogn, bilstereo, styling, interior, udstyr, bemarkninger, File1) VALUES ( '"
    strINSERT = strINSERT &  BrugerId & "', '" & bilmarke & "', '" & bilmodel & "', '" & aar & "', '" & mortor & "', '" & hk & "', '" & falge & "', '" & daak & "', '" & undervogn & "', '" & bilstereo & "', '" & styling & "', '" & interior & "', '" & udstyr & "', '" & bemarkninger & "', '" & File1 & "')"
 
    call objConn.execute(strINSERT)
objConn.close()
Response.Write("bilen er nu oprettet!")
%>
---------------------------------
Avatar billede hastek22 Nybegynder
06. marts 2003 - 23:54 #7
Dim strConnect

Indsæt denne så den bliver defineret ligesom de andre jeg nævnte tidligere
(forglemmelse fra min side :-))
Avatar billede gatez Nybegynder
06. marts 2003 - 23:57 #8
Hvor skal Dim strConnect sættes ind ?

Jeg har lige prøvet og nu for jeg denne fejl så jeg er ikke sikker på at jeg har sat Dim strConnect ind det rigtige sted.
Nye fejl:

Microsoft VBScript runtime error '800a01f4'

Variable is undefined: 'objConn'

/addusercar-gem.asp, line 19
Avatar billede hastek22 Nybegynder
07. marts 2003 - 00:03 #9
Som jeg skrev tidligere skal du definere alle dine variable, det gør du i toppen, der hvor du allerede er begyndt.
Dim upl, NewFileName, strConnect, objConn, BrugerId, bilmarke, bilmodel, aar, mortor, hk, falge, daak, undervogn, bilstereo, styling, interior, udstyr, bemarkninger, File1
Avatar billede gatez Nybegynder
07. marts 2003 - 00:04 #10
Jeg har ændret lidt i koden og nu er fejlen:

--------------------------------
File successfully written to disk.
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] The INSERT INTO statement contains the following unknown field name: 'File1'. Make sure you have typed the name correctly, and try the operation again.

/addusercar-gem.asp, line 46
------------------------

På linje 46 står der:
call objConn.execute(strINSERT)
Avatar billede hastek22 Nybegynder
07. marts 2003 - 00:12 #11
har du en reccord i din database der hedder File1 ? (det siger fejlen at du ikke har !)
Du skal ændre File1 til det det recordnavn (feltnavn) du har i DB.
(husk at evt. at ændre  det i din Dim sætning)
Avatar billede gatez Nybegynder
07. marts 2003 - 00:13 #12
Fejlen er:
---------------------------
File successfully written to disk.
Microsoft OLE DB Provider for ODBC Drivers error '80040e14'

[Microsoft][ODBC Microsoft Access Driver] The INSERT INTO statement contains the following unknown field name: 'File1'. Make sure you have typed the name correctly, and try the operation again.

/addusercar-gem.asp, line 46
---------------------------

Koden er:
---------------------------
<%

Option Explicit
 
Dim upl, NewFileName
Dim objConn
Dim strINSERT
Dim BrugerId, bilmarke, bilmodel, aar, mortor, hk, falge, daak, undervogn, bilstereo, styling, interior, udstyr, bemarkninger, File1
Dim strConnect

Set upl = Server.CreateObject("ASPSimpleUpload.Upload")
 
If Len(upl.Form("File1")) > 0 Then
    NewFileName = "/images/userbiler/" & upl.ExtractFileName(upl.Form("File1"))
    If upl.SaveToWeb("File1", NewFileName) Then
        Response.Write("File successfully written to disk.") 
    Else
        Response.Write("There was an error saving the file to disk.")
    End If
End If


strConnect = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ="&Server.Mappath("../database/bodykits.dk/brugersystem.mdb")
Set objConn = Server.CreateObject("ADODB.Connection")
call objConn.Open(strConnect)
           
BrugerId = upl.Form("BrugerId")
bilmarke = upl.Form("bilmarke")
bilmodel = upl.Form("bilmodel")
aar = upl.Form("aar")
mortor = upl.Form("mortor")
hk = upl.Form("hk")
falge = upl.Form("falge")
daak = upl.Form("daak")
undervogn = upl.Form("undervogn")
bilstereo = upl.Form("bilstereo")
styling = upl.Form("styling")
interior = upl.Form("interior")
udstyr = upl.Form("udstyr")
bemarkninger = upl.Form("bemarkninger")
File1 = upl.ExtractFileName(upl.Form("File1"))


strINSERT = "INSERT INTO BrugerBiler (BrugerId, bilmarke, bilmodel, aar, mortor, hk, falge, daak, undervogn, bilstereo, styling, interior, udstyr, bemarkninger, File1) VALUES ( '"
    strINSERT = strINSERT &  BrugerId & "', '" & bilmarke & "', '" & bilmodel & "', '" & aar & "', '" & mortor & "', '" & hk & "', '" & falge & "', '" & daak & "', '" & undervogn & "', '" & bilstereo & "', '" & styling & "', '" & interior & "', '" & udstyr & "', '" & bemarkninger & "', '" & File1 & "')"
 
    call objConn.execute(strINSERT)
objConn.close()
Response.Write("bilen er nu oprettet!")
%>
------------------
Avatar billede gatez Nybegynder
07. marts 2003 - 00:15 #13
Mit feldt navn i databasen hedder "billede1" hvordan ændre jeg koden sådan at den gemmer i billede navnet i feldet "billede1" ??
Avatar billede gatez Nybegynder
07. marts 2003 - 00:18 #14
Virker nu... Pyhaa :-) 10000 TAK! Sender du ikke lige et "SVAR" ??
Avatar billede hastek22 Nybegynder
07. marts 2003 - 00:18 #15
Umiddelbart ville jeg ændre alle de steder der står File1 til billede1, for konsistensens skyld.
God fornøjelse - nu vil jeg til at se dyner - jeg kigger tilbage imorgen tidlig.
Avatar billede hastek22 Nybegynder
07. marts 2003 - 00:19 #16
Tilykke og godnat :-)
Avatar billede gatez Nybegynder
07. marts 2003 - 00:20 #17
Tak og godnat ja :-)
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