Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    VB.net Access - Inserire e modificare immagini db access

    Salve, ho un piccolo quesito da porvi. Oramai è quasi un mesetto che spulcio il web in cerca di metodi / esempi per inserire e modificare immagini all'interno di un db access. Quello che dovrei fare è oltre che all'inserimento di immagini ex nuove, anche la modifica, passo a spegarmi meglio:

    Inserisco la scheda prodotti nella tabella X dove all'interno, ci sono sia dati string che un campo immagine (oggetto). E fino a quà, tutto ok, usando questo metodo che allego:

    Imports System.Data.OleDb
    Imports System.IO

    Public Class Form1

    Private Sub btnImmagine_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnImmagine.Click
    Dim dlgImmagine As New OpenFileDialog()

    dlgImmagine.Title = "Seleziona un immagine da importare"
    dlgImmagine.Multiselect = False
    dlgImmagine.Filter = "Formato JPEG(*.jpg)|*.jpg|Formato GIF (*.gif)|*.gif"
    dlgImmagine.FilterIndex = 2
    dlgImmagine.FileName = ""
    dlgImmagine.ShowDialog()
    txtimmagine.Text = dlgImmagine.FileName
    End Sub

    Private Sub btnSalva_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSalva.Click
    If txtimmagine.Text Is String.Empty Then
    Exit Sub
    End If
    'Creo lo stream dati byte, della immagine
    Dim fs As FileStream = New FileStream(txtimmagine.Text, FileMode.OpenOrCreate, FileAccess.Read)
    Dim ImgData(fs.Length) As Byte
    fs.Read(ImgData, 0, System.Convert.ToInt32(fs.Length))
    fs.Close()
    'Mi connetto al db
    Dim sql As String = "SELECT * FROM dati"
    Dim condati As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0; " & "Data Source=C:\dbimmagine.mdb")
    Try

    If condati.State <> ConnectionState.Open Then
    condati.Open()
    End If
    'oggetti per il salvataggio dei dati
    Dim adapterDati As OleDbDataAdapter = New OleDbDataAdapter(sql, condati)
    Dim cmdBuilder As OleDbCommandBuilder = New OleDbCommandBuilder(adapterDati)
    Dim dtsDati As New DataSet()
    adapterDati.MissingSchemaAction = MissingSchemaAction.AddWithKey
    'Carico il dataset
    adapterDati.Fill(dtsDati, "Dati")
    'Creo un datarow che mi rappresenta la nuova riga
    Dim dtrRiga As DataRow = dtsDati.Tables("Dati").NewRow()
    dtrRiga("immagine") = ImgData
    ' aggiungo la riga al dataset
    dtsDati.Tables("Dati").Rows.Add(dtrRiga)
    'Salvo i dati modificati
    adapterDati.Update(dtsDati, "Dati")
    MessageBox.Show("Immagine salvata")
    Catch ex As Exception
    MessageBox.Show("Errore: " & ex.Message)
    Finally
    'Chiudo la connessione
    If Not condati Is Nothing Then
    If condati.State = ConnectionState.Open Then
    condati.Close()
    End If
    condati.Dispose()
    End If
    End Try
    End Sub

    -----------------------------------------------------------------------

    Il mio problema è la modifica della immagine associata, visto che cn questo detodo inserisco un nuovo record.

    Potete aiutarmi?

    Grazie mille in anticipo

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2009
    Messaggi
    77
    immagine la devi collegare ed associare al id ?????????????? cliente oho cosa '''''

  3. #3
    Ciao nokia, grazie come sempre. Si in un certo qual modo, ovvero la tabella è quella della licenza del software ovvero a chi lo vendo. Siccome volevo standardizzare la procedura, ho inserito tra le altre cose, anche un campo logo, in modo che quando stampo l fatture o le bolle, nell'intestazione venga visualizzato in una picture. Poi se avete qualche altro metodo, il mio scopo è inserire e modificare (sostituire immagine con un altra) all'interno di un db e mandare in stampa nei report di crystal report. Ho provato anch a usare il metodo del percorso, ma non so come passare il persorso dinamicamente a crystal report.

  4. #4
    Sera a tutti. dovrei aver arginato il problema dell'inserimento di un campo oggetto (immagine) sul db di access, con crystal report XI, ovvero, vedendo una piccola guida ed un print screen, tramite la funzione "Locazione Grafica". Solo che una volta inserita la funzione, non so come far vedere il report modificato a vb.net, mi dice che è stato modificato da una versione più recente. Devo registrare qualche dll od ocx? Credo sia un problema che ha afflitto tante persone e se fosse una soluzione, credo di fare del "Bene" a parecchi! Grazie mille a tutti

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.