Mission impossible...per me!

mercoledì 12 maggio 2010 - 14.11

kemper Profilo | Newbie

ho un programma e un db che si chiama raccolta.nel programma visualizzo delle foto il cui nome e percorso e commento li inserisco nel db e che poi visualizzando la foto in appositi label si isualizzano le foto.per fare questo però devo inserire io manualmente il tutto.nelle proprietà delle foto però(tasto detro) c'è la possibilità di inserire commento etc.si ruesce a fare un codice che automaticamente inserisca nel db il nome della foto e il commento dalle sue proprietà?

nico839 Profilo | Senior Member

ciao...scusa ma con semplici query di insert e update non si riesce a fare?

Cao Profilo | Newbie

Ciao Kemper,
se ho ben capito tu vorresti che automaticamente si salvasse su db il path + nome della foto ed il suo commento! Giusto?
Ci sono due modi per effettuare questa operazione:

La prima come ha suggerito Nico839 è con l'utilizzo del linguaggio SQL, quindi INSERT INTO (In caso di inserimento di un record) e Update (In caso di Aggiornamento) di un record.

Oppure con l'utilizzo dell'oggetto recordset:

Dim rs as ADODB.recordset
set rs = new ADODB.recordset

rs.open "select * from TabellaX" ,connection

Aggiornamento:
rs.commento = VarCommento
rs.path = VarPathFoto
rs.post

Inserimento:
rs.AddNew
rs.commento = VarCommento
rs.path = VarPathFoto
rs.post

Comunque la scelta dipende da come hai strutturato il programma e su che eventi lavori.
Se può esserti utile qualche altro consiglio, fammi sapere.... ma ti consiglierei di essere un pò più preciso nella descrizione del problema!

nico839 Profilo | Senior Member

...oppure attraverso entityframework diventa semplice e veloce una volta individuati gli eventi in pochi comandi fai tutto in un progetto così...

nico839 Profilo | Senior Member

...oppure attraverso entityframework diventa semplice e veloce una volta individuati gli eventi in pochi comandi fai tutto in un progetto così...

kemper Profilo | Newbie

hai ragione ! mettiamola così.ho un db che si chiama album e ogni foto ha il nome e nelle prorietà del file c'è il commento...mi scriveresti il codice per inserire da vb sia il nome che il commento già scritto nelle proprietà del file e il codice per visualizzarlo poi dopo in vb?c'è un modo per ordinarli poi in ordine alfabetico ?

Cao Profilo | Newbie

Come prima cosa devi aggiungere come riferimento la dll Shell32.dll che si trova sotto la directory c:\windows\system32.

Dopo di che segui il codice che ti ho messo per recuperare i vari attributi della foto.
Una volta recuperati vai a salvarli con la metodologia che ti ho messo nel post precedente.

per recuperare i dati una volta salvati su db, basta fare una "select * from tabella order by ....(nome del campo per il quale vuoi l'ordinamento)" la quale ti restituisce un recordset.
Dal recordset recuperi i valori e carichi gli oggetti del form.

Private Sub Command1_Click()

Dim c As Collection

Set c = FileProperties(varPath, varNomefoto)

'qui ti restituisce una collezzione di attributi.... per cui se vuoi recupare il commento scrivi:

varcommento = c("Commenti")

End Sub

Public Function FileProperties(sPath As String, sFileName As String) As Collection
Dim oShell As Shell32.Shell
Dim oFolder As Shell32.Folder
Dim oItem As Object
Dim arrProps(41)
Dim tmpCol As New Collection
Dim i As Long

Set oShell = New Shell32.Shell

'Set oShell = CreateObject("Shell.Application")
Set oFolder = oShell.NameSpace(sPath)

For i = 0 To 40
arrProps(i) = oFolder.GetDetailsOf(oFolder.Items, i)
Next
For Each oItem In oFolder.Items
If LCase(oItem.Name) = LCase(sFileName) Then
For i = 0 To 40
If arrProps(i) <> "" Then
Debug.Print arrProps(i)
tmpCol.Add oFolder.GetDetailsOf(oItem, i), arrProps(i)
End If
Next
Exit For
End If
Next
Set FileProperties = tmpCol
Set tmpCol = Nothing
Set oFolder = Nothing
Set oShell = Nothing
End Function

Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2023
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5