Avatar billede webbe Nybegynder
29. november 2000 - 11:47 Der er 19 kommentarer og
1 løsning

INSERT i databasen virker ikke!

Hej!

Jeg skal lave en upload form af filer.

Filerne bliver godt nok flyttet osv., men de informationer der skal skrives til hver fil ligges ikke i databasen.

Jeg uploader flere filer på én gang og ikke alle fil-fields behøver at være udfyldt - den del fungerer okay, men stien til billederne (skal hentes via ASP et andet sted) og de andre text-fields ligges ikke i databasen.

Hjælp mig - det er hamrende vigtigtt og haster temmeligt meget!
Avatar billede kasseper Nybegynder
29. november 2000 - 12:00 #1
Må vi se lidt kode ?
Avatar billede webbe Nybegynder
29. november 2000 - 12:03 #2
Her er et udpluk der skulle uploade den ene fil!

if upload.Form(\"Lydklip1\") = \"true\" then
            fra = tmp_mappe & \"\\\" & upload.Files(\"Lydklip1\").ExtractFileName
            til = lyddir & \"\\\" & upload.Files(\"Lydklip1\").ExtractFileName
            upload.MoveFile fra, til
            sql = \"INSERT INTO Filer (Bestnr, Lydklip1, Tekst1, Forfatter1) VALUES(\'%\" & Lydklip1 & \"%\', \'%\" & Tekst1 & \"%\', \'%\" & Forfatter1 & \"%\')\"
            conn.Execute(sql)
        end if
Avatar billede kasseper Nybegynder
29. november 2000 - 12:11 #3
Får du ikke en SQl fejl ? Eller en anden fejl ?
Avatar billede webbe Nybegynder
29. november 2000 - 12:14 #4
Nej - jeg får ingen fejlmeddelelser af nogen art....den inserter bare ikke i min tabel!
Avatar billede tdaugaard Nybegynder
29. november 2000 - 12:21 #5
Hvad pokker skal de der % tegn også gøre godt for ? skal de bare være der eller ?
Avatar billede webbe Nybegynder
29. november 2000 - 12:23 #6
tdaugaard!

Var bare et forsøg - vidste ikke om de virkede....det gjorde de ikke....har også fjernet dem igen!
Avatar billede tdaugaard Nybegynder
29. november 2000 - 12:26 #7
:-) Okai ..
Avatar billede tdaugaard Nybegynder
29. november 2000 - 12:28 #8
Jeg tror du skal vise os noget mere kode omkring de stykke du allerede har postet ..
Avatar billede stoffer Nybegynder
29. november 2000 - 12:43 #9
Hmm så vidt jeg kan se har du fire felter, men kun 3 i values sætninger. Det mås man ikke

Det bør vel være alá det her:

INSERT INTO Filer (Bestnr, Lydklip1, Tekst1, Forfatter1) VALUES(10, \'\" & Lydklip1 & \"\', \'\" & Tekst1 & \"\', \'\" & Forfatter1 & \"\')\"
           
Avatar billede webbe Nybegynder
29. november 2000 - 12:49 #10
Stoffer!

Var en fejl det stod der - Bestnr skal jo kun uploades én gang hvilket jeg gør i en anden.

Noget andet er, at Valuen for Bestnr ikke skal være 10, hvilket jeg opfatter dit svar som - har testet det med dit forslag og det virker stadig ikke - derfor afviser jeg dit svar.

Er I interesserede i at se hele koden eller hvad?
Avatar billede tdaugaard Nybegynder
29. november 2000 - 12:52 #11
sql = \"INSERT INTO Filer (Lydklip1, Tekst1, Forfatter1) VALUES(\'\" & Lydklip1 & \"\', \'\" & Tekst1 & \"\', \'\" & Forfatter1 & \"\')\"

så ?
Avatar billede webbe Nybegynder
29. november 2000 - 12:57 #12
tdaugaard!

Er jo sådan det står allerede - ændrede det efter jeg havde postet koden i første omgang - så desværre....kan ikke bruge dit svar!
Avatar billede tdaugaard Nybegynder
29. november 2000 - 12:58 #13
Du må lige fortælle os hvad du har prøvet og ikke prøvet !?! men jo, vis os noget mere kode.
Avatar billede webbe Nybegynder
29. november 2000 - 13:00 #14
Okay - viser lige hele koden så!

<%@LANGUAGE=\"VBSCRIPT\"%>
<%
    option explicit
    Response.Buffer = true
   
\'DB   
    dim sql, rs, rs1, conn
    set conn = server.CreateObject(\"ADODB.connection\")
    conn.open \"bagkat_musik\"
   
\'Upload
    dim tmp_mappe
    tmp_mappe = server.MapPath(\"Lydklip\")   
   
    dim upload       
    Set Upload = Server.CreateObject(\"Persits.Upload.1\") 
    Upload.Save tmp_mappe
   
\'Tjecker om Bestnr eksisterer i forvejen
    sql = \"SELECT count(bestnr) as antal FROM Filer WHERE bestnr = \'\" & upload.Form(\"bestnr\") & \"\'\"
    dim rs_tjeck
    set rs_tjeck = conn.Execute(sql)
    if rs_tjeck(\"antal\") < 1 then

\'Opretter mapper (id, lydfiler)
        Dim createdir, newdir, lyddir
       
        Set createdir = Server.CreateObject(\"Scripting.FileSystemObject\")
        newdir = Server.MapPath(\"Billeder\")&\"\\\"
        newdir = newdir + upload.Form(\"bestnr\")
   
        If Not createdir.FolderExists(newdir) Then
            createdir.CreateFolder(newdir)
        End if
           
        lyddir = newdir + \"\\lyd\"
       
        If Not createdir.FolderExists(lyddir) Then
            createdir.CreateFolder(lyddir)
        End if
           
        Set createdir = Nothing   
   
\'Bestnr = Upload.Form(\"bestnr\")
\'Coverbillede = Upload.Form(\"Coverbillede\")
\'Lydklip1 = Upload.Files(\"Lydklip1\")
\'Tekst1 = Upload.Form(\"Tekst1\")
\'Forfatter1 = Upload.Form(\"Forfatter1\")
\'Lydklip2 = Upload.Files(\"Lydklip2\")
\'Tekst2 = Upload.Form(\"Tekst2\")
\'Forfatter2 = Upload.Form(\"Forfatter2\")
\'Lydklip3 = Upload.Files(\"Lydklip3\")
\'Tekst3 = Upload.Form(\"Tekst3\")
\'Forfatter3 = Upload.Form(\"Forfatter3\")
\'Lydklip4 = Upload.Files(\"Lydklip4\")
\'Tekst4 = Upload.Form(\"Tekst4\")
\'Forfatter4 = Upload.Form(\"Forfatter4\")
\'Lydklip5 = Upload.Files(\"Lydklip5\")
\'Tekst5 = Upload.Form(\"Tekst5\")
\'Forfatter5 = Upload.Form(\"Forfatter5\")

\'Flytter cover   
        dim til, fra
        fra = tmp_mappe & \"\\\"
        til = newdir & \"\\\"
       
\'Indsætter i Filer - DB

        if upload.form(\"Coverbillede\") = \"true\" then
            fra = tmp_mappe & \"\\\" & upload.files(\"Coverbillede\").ExtractFileName
            til = newdir & \"\\\" & upload.files(\"Coverbillede\").ExtractFileName
            upload.MoveFile fra, til
            sql = \"INSERT INTO Filer (Coverbillede) VALUES(\'\" & Bestnr & \"\', \'\" & Coverbillede & \"\')\"
            conn.Execute(sql)
        end if

        if upload.Form(\"Lydklip1\") = \"true\" then
            fra = tmp_mappe & \"\\\" & upload.Files(\"Lydklip1\").ExtractFileName
            til = lyddir & \"\\\" & upload.Files(\"Lydklip1\").ExtractFileName
            upload.MoveFile fra, til
            sql = \"INSERT INTO Filer (Lydklip1, Tekst1, Forfatter1) VALUES(\'\" & Lydklip1 & \"\', \'\" & Tekst1 & \"\', \'\" & Forfatter1 & \"\')\"
            conn.Execute(sql)
        end if
       
        if upload.Form(\"Lydklip2\") = \"true\" then
            fra = tmp_mappe & \"\\\" & upload.Files(\"Lydklip2\").ExtractFileName
            til = lyddir & \"\\\" & upload.Files(\"Lydklip2\").ExtractFileName
            upload.MoveFile fra, til
            sql = \"INSERT INTO Filer (Lydklip2, Tekst2, Forfatter2) VALUES(\'\" & Lydklip2 & \"\', \'\" & Tekst2 & \"\', \'\" & Forfatter2 & \"\')\"
            conn.Execute(sql)
        end if
       
        if upload.Form(\"Lydklip3\") = \"true\" then
            fra = tmp_mappe & \"\\\" & upload.Files(\"Lydklip3\").ExtractFileName
            til = lyddir & \"\\\" & upload.Files(\"Lydklip3\").ExtractFileName
            upload.MoveFile fra, til
            sql = \"INSERT INTO Filer (Lydklip3, Tekst3, Forfatter3) VALUES(\'\" & Lydklip3 & \"\', \'\" & Tekst3 & \"\', \'\" & Forfatter3 & \"\')\"
            conn.Execute(sql)
        end if
       
        if upload.Form(\"Lydklip4\") = \"true\" then
            fra = tmp_mappe & \"\\\" & upload.Files(\"Lydklip4\").ExtractFileName
            til = lyddir & \"\\\" & upload.Files(\"Lydklip4\").ExtractFileName
            upload.MoveFile fra, til
            sql = \"INSERT INTO Filer (Lydklip4, Tekst4, Forfatter4) VALUES(\'\" & Lydklip4 & \"\', \'\" & Tekst4 & \"\', \'\" & Forfatter4 & \"\')\"
            conn.Execute(sql)
        end if
       
        if upload.Form(\"Lydklip5\") = \"true\" then
            fra = tmp_mappe & \"\\\" & upload.Files(\"Lydklip5\").ExtractFileName
            til = lyddir & \"\\\" & upload.Files(\"Lydklip5\").ExtractFileName
            upload.MoveFile fra, til
            sql = \"INSERT INTO Filer (Lydklip5, Tekst5, Forfatter5) VALUES(\'\" & Lydklip5 & \"\', \'\" & Tekst5 & \"\', \'\" & Forfatter5 & \"\')\"
            conn.Execute(sql)
        end if
       
        Response.Redirect(\"default.asp\")
       
    else
       
\'Sletter filer fra tmp_mappe
        dim myfileobject, myfolder, item
        set myfileobject = server.CreateObject(\"Scripting.FileSystemObject\")
        set myfolder = myfileobject.GetFolder(tmp_mappe)
       
        for each item in myfolder.files
            myfileobject.deletefile item
        next
       
        Response.Redirect(\"default.asp\")
    end if

%>
Avatar billede stoffer Nybegynder
29. november 2000 - 17:15 #15
her er også en fejl
sql = \"INSERT INTO Filer (Coverbillede) VALUES(\'\" & Bestnr & \"\', \'\" & Coverbillede & \"\')\"

skal være
sql = \"INSERT INTO Filer (Bestnr, Coverbillede) VALUES(\'\" & Bestnr & \"\', \'\" & Coverbillede & \"\')\"

skriv tilbage når du har afprøvet det....
Avatar billede webbe Nybegynder
29. november 2000 - 23:22 #16
Stoffer!

Har prøvet med det, men det virker stadig ikke....sorry...blir\' nød til at afvise dit svar!
Avatar billede stoffer Nybegynder
30. november 2000 - 11:31 #17
bare et simpelt spørgsmål, du bruger ikke \"on error resume next\" nogen steder vel?
Avatar billede stoffer Nybegynder
30. november 2000 - 11:34 #18
og endnu et simpelt spg. \"bagkat_musik\" dsn\'en er registreret korrekt ikke.

Prøv at slå alle allow null values og insert permissions fra i din tabel, og se om den kommer med en fejl?
Avatar billede webbe Nybegynder
30. november 2000 - 12:15 #19
Min dsn virker som den skal, for det er den jeg bruger alle andre steder i dette projekt.

Så det er ikke den det er galt med!
Avatar billede webbe Nybegynder
05. december 2000 - 16:08 #20
Har lavet det hele forfra på en ny måde - så nu inserter den....dog ikke det hele, men det kommer....spørgsmålet er derfor ikke længere aktuelt!
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