Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514

    [vb6] Immagini in database o in cartella?

    Salve,

    devo realizzare un'applicazione in cui mi si chiede di visualizzare delle piantine(file bmp) con realtive descrizione. L'idea era quella di mettere tutte le immagini in un database ma mi chiedo se così poi il database non diventa troppo pesante in termini di risposta ad una query(in utto sono 3 mega di foto).

    Altra soluzione sarebbe quella di inserire un link e caricare l'immagine dall'esterno.



    nel primo caso se elimino l'elemento del database lo elimino dall'applicativo ma, se lo devo modificare devo aprire l'immagine con il realivo software e poi rimetterla nel database.(o si può fare tutto in vb')

    Nel secondo caso se elimino il record devo poi anche eliminare l'immagine dalla cartella..


    Voi quale strda seguireste?
    Ciao e grazie
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  2. #2
    sicuramente il secondo...
    è più facile da gestire

  3. #3
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    il problema però è uno
    si richiede la possibilità dall'applicazione di cliccare sul relativo tasto motifica e di aprire paint per modificare la foto....

    inoltre se la devo aggiungere devo prima mettere l'immagine in una cartella predefinita e poi la devo inserie in un database?


    in questo caso risulta + macchinoso o sbaglio?
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  4. #4
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    il problema di salvare il contenuto di un'immagine su un campo db c'è , come dicevi tu si rischia di ingrandire troppo il db e di perderne in prestazioni (query ecc.), se ci fosse la possibilità di poter salvare in jpg anzike' in formato .bmp (ci sto lavorando) sarebbe fatta.
    Per quanto riguarda il tuo discorso , potresti procedere cosi':
    1) salvare le foto su un campo ole del db (campo=foto)
    2) il datafield dell'image1 = foto
    3) per modificare la foto potresti fare qualkosa di questo tipo:

    codice:
    Private Sub db_MOD_Click()
    Dim nres As String
    ' salva foto db in temp file
    tempFilename = "c:\temp.jpg"
    SavePicture Image1.Picture, tempFilename
    ' apre foto con programma
    nres = Shell("mspaint.exe " & tempFilename, vbNormalFocus)
    End Sub
    ovviamente ad operazione finita fai un "Kill tempFilename"

    notte ...

  5. #5
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    Ciao,

    quindi in pratica tu mi consigli di mettere tutte le foto nel database e non di fare il collegamento?

    se ho capito bene poi nei passi successivi tu mi crei mediante savepicture(che poi non troo nella guida) un file temp su cui lavorare.

    però una volta chiuso paint io come lo sostituisco nel database?
    mi resta questo grande dilemma.

    io le immagini le inserisco manualmente in access da codice come faccio?
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  6. #6
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    esatto , purtroppo pero' il savepicture puo' salvare soltanto in formato .bmp (da quello ke ho letto), l'ideale sarebbe trovare una ocx o dll ke faccia il salvataggio in altri formati (jpg o gif) in modo da non far aumentare la grandezza del db, forse ne ho trovato una molto buona si kiama PicFormat32.ocx , ma devo provarla bene.

    Per il discorso del salvataggio della foto , qualsiasi sia il formato , potresti crearti una piccola funzione utilizzare ado.stream

    Modifichi la foto con paint esci e salvi (temp file), ripassi al tuo software e fai un update , il tuo programma nn fara' altro ke aggiornare la foto con con il file temporaneo creato in precendenza con il tasto modifica foto.
    Spero di nn averti confuso le idee


  7. #7
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    no che confuse .....

    allora per l'apertura visualizzazione sono ok
    la apro con paint e la modifico(che poi modifico qulla temp non quella del db).Ora premerei su un pulsante aggiorna per inserie quella temp nel database ma sinceramente non so come fare


    che faccio

    "update ......campo="c:\temp\img1"????

    ado stream?? che roba è?

    ciao e grazie
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  8. #8
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    l'oggeto stream di ado è molto ulizzato x la creazione di pagine web (ASP) dinamike , ma funziona anke su vb6/net/c# ..ecc, potresti inserire questa funzione nel tuo programma x salvare direttamente l'immagine in formato binario sul db.

    codice:
    Private Function SaveImage()
      Dim mStream As New ADODB.Stream
    
      With mStream
        .Type = adTypeBinary
        .Open
        .LoadFromFile tempFilename
        rs("pix").Value = .Read
        rs.Update
      End With
      Set mStream = Nothing
    End Function

  9. #9
    Moderatore di Javascript L'avatar di ciro78
    Registrato dal
    Sep 2000
    residenza
    Napoli
    Messaggi
    8,514
    codice:
    rs("pix").Value = .Read
        rs.Update
    che serve??
    e se dovessi inserire una nuova immagine lo faccio con insert normale?

    in pratica io vorrei sapere come fare da codice per inserie un'immagine nel db
    Ciro Marotta - Programmatore JAVA - PHP
    Preferisco un fallimento alle mie condizioni che un successo alle condizioni altrui.


  10. #10
    Utente di HTML.it L'avatar di yyzyyz
    Registrato dal
    Oct 2001
    Messaggi
    1,653
    quello ke hai evidenziato nn è altro ke l'associazione del campo contenente l'immagine nel database in formato binario (ole) con il suo aggiornamento, nel nostro caso :

    rs.update ' aggiorna l'immagine sul db

    x quanto riguarda l'inserimento è + semplice a farsi ke a dirsi , crea un Commandbotton e ci metti un rs.addnew, utilizza anke una CommonDialog1 per caricarti l'immagine ke verra' inserita nell'image1.


Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.