Avatar billede sorenmt84 Juniormester
23. november 2005 - 22:00 Der er 5 kommentarer og
1 løsning

Hjælp til opdatering af flere poster

Jeg skal bruge et script der kan gå ind og hente alle de poster hvor et bestemt felt ikke er udfyldt.

Ved alle de poster den finder skal der bl.a. laves nogle thumbnails af en fil (hvor der for filnavnet fra et andet feltnavn i tabellen), samt der skal opdateres nogle felter mm...

Jeg har hele den del der skal ske i scriptet men mangler en forbindelse til min db som finder de poster det drejer sig om og tillader at jeg kan opdatere posterne.

Opret forbindelse til db
find de poster der skal opdateres

-------

' tilføj data til db
Set rs =  Server.CreateObject("ADODB.Recordset")
sql = "SELECT * FROM billeder"
rs.open sql, conn, 1, 3
mappenavn = rs("mappenavn")
' omdøb fil
'Dim objFileSystem, objFile
Set objFileSystem = CreateObject("Scripting.FileSystemObject")
Set objFile = objFileSystem.GetFile("F:\Home\billeder\mapper\" & mappenavn & "\orginaler\" & rs("billede_org"))
objFile.Name = "" & rs("upload") & "_" & rs("id") & "_org.jpg"
Set Jpeg = Server.CreateObject("Persits.Jpeg")
'orginal fil
Path = "F:\Home\billeder\mapper\" & mappenavn & "\orginaler\" & rs("upload") & "_" & rs("id") & "_org.jpg"
Jpeg.Open Path

' opret preview
Path = "F:\Home\billeder\mapper\" & mappenavn & "\orginaler\" & rs("upload") & "_" & rs("id") & "_org.jpg"
Jpeg.Open Path
L = 700
jpeg.PreserveAspectRatio = True
If jpeg.OriginalWidth > jpeg.OriginalHeight Then
jpeg.Width = L
Else
jpeg.Height = L
End If
Jpeg.ResolutionX = 72
Jpeg.ResolutionY = 72
' ny lille fil
Jpeg.Save "F:\Home\billeder\mapper\" & mappenavn & "\prevs\" & rs("upload") & "_" & rs("id") & "_prev.jpg"

' opret thumbnail
L = 200
jpeg.PreserveAspectRatio = True
If jpeg.OriginalWidth > jpeg.OriginalHeight Then
jpeg.Width = L
Else
jpeg.Height = L
End If
' ny lille fil
Jpeg.Save "F:\Home\billeder\mapper\" & mappenavn & "\thumbs\" & rs("upload") & "_" & rs("id") & "_thumb.jpg"
Set Info = Jpeg.OpenInfo(Path)

rs("billede_prev") = rs("upload") & "_" & rs("id") & "_prev.jpg"
rs("billede_thumb") = rs("upload") & "_" & rs("id") & "_thumb.jpg"
rs("billede_org") = rs("upload") & "_" & rs("id") & "_org.jpg"
rs("titel") = Session("titel")
rs("exit_kamera") = info("Model")
rs("exit_kamera_producent") = info("Make")
rs("exit_hojde") = info("PixelYDimension")
rs("exit_bredde") = info("PixelXDimension")
rs("exit_oplosning") = info("XResolution")
rs("exit_datetime") = info("DateTimeOriginal")
rs("exit_iso") = info("ISOSpeedRatings")
rs("exit_shutter") = info("ShutterSpeedValue")
rs("exit_exposure") = info("ExposureTime")
rs("exit_flash") = info("Flash")
rs("exit_braendvidde") = info("FocalLength")
rs.update
rs.Close
Set rs = Nothing

---------
videre til næste post
afslut forbindelse
Avatar billede nielle Nybegynder
23. november 2005 - 22:08 #1
sql = "SELECT * FROM billeder WHERE ditFelt IS NULL"

.. eller:

sql = "SELECT * FROM billeder WHERE ditFelt = ''"
Avatar billede sorenmt84 Juniormester
23. november 2005 - 22:10 #2
ja og så noget rs.movenext osv osv i bunden? så kan jeg ikke opdatere poster samtidig!
Avatar billede nielle Nybegynder
23. november 2005 - 22:20 #3
Ja da:

Set rs =  Server.CreateObject("ADODB.Recordset")
sql = "SELECT * FROM billeder WHERE ditFelt IS NULL"
rs.open sql, conn, 1, 3

While Not rs.EOF
    mappenavn = rs("mappenavn")
    ' omdøb fil
    'Dim objFileSystem, objFile
    Set objFileSystem = CreateObject("Scripting.FileSystemObject")
    Set objFile = objFileSystem.GetFile("F:\Home\billeder\mapper\" & mappenavn & "\orginaler\" & rs("billede_org"))
    objFile.Name = "" & rs("upload") & "_" & rs("id") & "_org.jpg"
    Set Jpeg = Server.CreateObject("Persits.Jpeg")
    'orginal fil
    Path = "F:\Home\billeder\mapper\" & mappenavn & "\orginaler\" & rs("upload") & "_" & rs("id") & "_org.jpg"
    Jpeg.Open Path

    ' opret preview
    Path = "F:\Home\billeder\mapper\" & mappenavn & "\orginaler\" & rs("upload") & "_" & rs("id") & "_org.jpg"
    Jpeg.Open Path
    L = 700
    jpeg.PreserveAspectRatio = True
    If jpeg.OriginalWidth > jpeg.OriginalHeight Then
        jpeg.Width = L
    Else
        jpeg.Height = L
    End If
    Jpeg.ResolutionX = 72
    Jpeg.ResolutionY = 72
    ' ny lille fil
    Jpeg.Save "F:\Home\billeder\mapper\" & mappenavn & "\prevs\" & rs("upload") & "_" & rs("id") & "_prev.jpg"

    ' opret thumbnail
    L = 200
    jpeg.PreserveAspectRatio = True
    If jpeg.OriginalWidth > jpeg.OriginalHeight Then
        jpeg.Width = L
    Else
        jpeg.Height = L
    End If
    ' ny lille fil
    Jpeg.Save "F:\Home\billeder\mapper\" & mappenavn & "\thumbs\" & rs("upload") & "_" & rs("id") & "_thumb.jpg"
    Set Info = Jpeg.OpenInfo(Path)

    rs("billede_prev") = rs("upload") & "_" & rs("id") & "_prev.jpg"
    rs("billede_thumb") = rs("upload") & "_" & rs("id") & "_thumb.jpg"
    rs("billede_org") = rs("upload") & "_" & rs("id") & "_org.jpg"
    rs("titel") = Session("titel")
    rs("exit_kamera") = info("Model")
    rs("exit_kamera_producent") = info("Make")
    rs("exit_hojde") = info("PixelYDimension")
    rs("exit_bredde") = info("PixelXDimension")
    rs("exit_oplosning") = info("XResolution")
    rs("exit_datetime") = info("DateTimeOriginal")
    rs("exit_iso") = info("ISOSpeedRatings")
    rs("exit_shutter") = info("ShutterSpeedValue")
    rs("exit_exposure") = info("ExposureTime")
    rs("exit_flash") = info("Flash")
    rs("exit_braendvidde") = info("FocalLength")
    rs.Update

    rs.MoveNext
Loop

rs.Close
Set rs = Nothing
Avatar billede sorenmt84 Juniormester
23. november 2005 - 22:27 #4
hehe ja sørme så :-P

Smider du lige et svar
Avatar billede nielle Nybegynder
23. november 2005 - 22:36 #5
Svar :^)
Avatar billede sorenmt84 Juniormester
23. november 2005 - 22:37 #6
Takker for den hurtige hjælp
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