Avatar billede blaatand Nybegynder
07. november 2003 - 11:14 Der er 18 kommentarer og
1 løsning

Persits.Upload - fejl 40?

Persits.Upload.1 error '800a001c'

[Microsoft][ODBC Microsoft Access Driver] Data type mismatch in criteria expression.

/create_subsite.asp, line 199

Koden kommer herunder:
Avatar billede blaatand Nybegynder
07. november 2003 - 11:15 #1
Forms:

<form method="post" enctype="multipart/form-data" action="create_subsite.asp?create=3">
  <p> Headline:<br>
    <input name="formHEADLINE" type="text" class="form-standard" id="formHEADLINE" size="70">
  </p>
  <p> Site text:<br>
    <textarea name="formTEXT" cols="71" rows="20" class="form-standard" id="formTEXT"></textarea>
  </p>
  <p>Picture:<br>
    <input type="file" name="file1" class="form-standard" size="50">
  </p>
  <p> In what submenu should this site be placed?<br>
    <select name="formMENUCAT" class="form-standard" id="formMENUCAT">
      <!--#include file="dbconn.asp"-->
      <%
        strSQL = "SELECT * FROM MENUCAT"
        Set rs = Conn.Execute(strSQL)
    %>
      <%
        do
       
        strMENUCAT = rs("MENUCAT")
    %>
      <option value="<%Response.Write(strMENUCAT)%>">
      <%Response.Write(strMENUCAT)%>
      </option>
      <%
        rs.movenext
        loop while not rs.eof
        rs.close
        set rs = nothing
    %>
      <!--#include file="dbclose.asp"-->
    </select>
  </p>
  <p>What do you wanna name the link in the menu for this site? (max 20 chars)<br>
    <input name="formLINKNAME" type="text" class="form-standard" id="formLINKNAME" size="20" maxlength="20">
    <input name="formSITETYPE" type="hidden" id="formSITETYPE" value="3">
  </p>
  <p>
    <input name="Submit" type="submit" class="form-standard" value="Submit">
  </p>
</form>
Avatar billede blaatand Nybegynder
07. november 2003 - 11:15 #2
Koden:

set conn = Server.CreateObject("ADODB.Connection")
Session("MyConn") = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.Mappath("settings.mdb") & ";"

Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.OverwriteFiles = false
Upload.SetMaxSize 1000000, True
Upload.SaveVirtual ("/pictures/")

For Each File in Upload.Files

File.ToDatabase Session("MyConn"), "insert into SUBSITES(PICTURE, MENUCAT, HEADLINE, [TEXT], SITETYPE, LINKNAME) " &_
"values('"& File.ExtractFileName & "', '" & Upload.Form("formMENUCAT") & "', '" & Upload.Form("formHEADLINE") & "', '"&Upload.Form("formTEXT")&"','" & Upload.Form("formSITETYPE") & "', '" & Upload.Form("formLINKNAME") & "')"
if Err <> 0 Then
Response.Write "<font class=""maintekst"">Der er sket en fejl! : " & Err.Description

Else

Response.Write "<font class=""maintekst"">Tilføjet...</font>"

End If
Next
Avatar billede keysersoze Ekspert
07. november 2003 - 11:19 #3
Det er en databasefejl og ikke en uploadfejl. Er alle dine felter i SUBSITES tekst/notat felter?
Avatar billede blaatand Nybegynder
07. november 2003 - 11:23 #4
nej MENUCAT og SITETYPE var tal...
Avatar billede keysersoze Ekspert
07. november 2003 - 11:24 #5
File.ToDatabase Session("MyConn"), "insert into SUBSITES(PICTURE, MENUCAT, HEADLINE, [TEXT], SITETYPE, LINKNAME) " &_
"values('"& File.ExtractFileName & "', " & Upload.Form("formMENUCAT") & ", '" & Upload.Form("formHEADLINE") & "', '"&Upload.Form("formTEXT")&"'," & Upload.Form("formSITETYPE") & ", '" & Upload.Form("formLINKNAME") & "')"
Avatar billede blaatand Nybegynder
07. november 2003 - 11:28 #6
Samme fejl...
Avatar billede keysersoze Ekspert
07. november 2003 - 11:33 #7
hvad præcis står der i linie 199 i create_subsite.asp samt de linie lige over?
Avatar billede blaatand Nybegynder
07. november 2003 - 11:34 #8
File.ToDatabase Session("MyConn"), "insert into SUBSITES(PICTURE, MENUCAT, HEADLINE, [TEXT], SITETYPE, LINKNAME) " &_
Avatar billede blaatand Nybegynder
07. november 2003 - 11:35 #9
Linierne over er disse:

set conn = Server.CreateObject("ADODB.Connection")
Session("MyConn") = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=" & Server.Mappath("settings.mdb") & ";"

Set Upload = Server.CreateObject("Persits.Upload.1")
Upload.OverwriteFiles = false
Upload.SetMaxSize 1000000, True
Upload.SaveVirtual ("/pictures/")

For Each File in Upload.Files
Avatar billede blaatand Nybegynder
07. november 2003 - 11:44 #10
Jeg bliver nød til at smutte videre nu, har pause og skal finde mig noget mad inden timer igen. Ikke mere pc for i dag, så svarer nok først en gang efter 17...
Avatar billede blaatand Nybegynder
07. november 2003 - 17:39 #11
*bump*
Avatar billede keysersoze Ekspert
07. november 2003 - 22:05 #12
umiddelbart ser det korrekt ud med det sidste jeg skrev - men måske kræver ToDatabase noget specielt... prøv at lav en normal sql og udkommenter file.todatabase linien

SQL = "insert into SUBSITES(PICTURE, MENUCAT, HEADLINE, [TEXT], SITETYPE, LINKNAME)values('"& File.ExtractFileName & "', " & Upload.Form("formMENUCAT") & ", '" & Upload.Form("formHEADLINE") & "', '"&Upload.Form("formTEXT")&"'," & Upload.Form("formSITETYPE") & ", '" & Upload.Form("formLINKNAME") & "')"
Conn.Execute(SQL)

Og det kræver selvfølgelig at du connecter til databasen som normalt
Avatar billede blaatand Nybegynder
08. november 2003 - 00:15 #13
Persits.Upload.1 error '800a001c'

[Microsoft][ODBC Microsoft Access Driver] Syntax error (missing operator) in query expression 'Test Cat'.

/create_subsite.asp, line 198

Jeg prøvede din kode igen efter at have rettet lidt til, havde åbenbart en database connection og køre udenom koden... men det blev ikke rigtig bedre af det jo. Jeg får denne fejl, og Test Cat er noget jeg henter ud fra en drop down menu, lavet ud fra databasen.
Avatar billede blaatand Nybegynder
08. november 2003 - 00:26 #14
insert into SUBSITES(PICTURE, MENUCAT, HEADLINE, [TEXT], SITETYPE, LINKNAME)values('ip-config(7).jpg', Test Cat, 'headline', 'text',3, 'linket')

sådan blev SQLen
Avatar billede keysersoze Ekspert
08. november 2003 - 00:39 #15
ud fra ovenstående resultat så er MENUCAT enten ikke et tal-felt - eller også sætter du en forkert værdi ind

"Test Cat" som du forsøger at sætte ind er jo ikke et tal?
Avatar billede blaatand Nybegynder
08. november 2003 - 00:42 #16
Hmm, feltet burde være et tal. Kan være jeg indputter en forkert værdi... skal lige undersøge den 2 secs.

Det lyder sandsynligt, da jeg har fået koden til at virke nu med text felter, dog kan den ikke udtrække det fra databasen som den bør ;)
Avatar billede blaatand Nybegynder
08. november 2003 - 00:46 #17
du havde ret, jeg har lavet en fejl og skrive den samme variabel ud i både value og text feltet...

men det fungerer nu, jeg siger tak for pointet i den rette vej :D
Avatar billede blaatand Nybegynder
08. november 2003 - 00:46 #18
Svar for points? ;)
Avatar billede keysersoze Ekspert
08. november 2003 - 00:49 #19
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