[VB Express]: Salvare i dati in un DB SQL Server Locale

di il
32 risposte

32 Risposte - Pagina 2

  • Re: [VB Express]: Salvare i dati in un DB SQL Server Locale

    Risolto il problema?

    Hai provato ad usare altri DBMS, tipo MySql o Access?
    Ci sarebbe anche Oracle (di cui esiste la versione express edition), ma forse è troppo esagerato per la tua problematica.
  • Re: [VB Express]: Salvare i dati in un DB SQL Server Locale

    Purtroppo non ho risolto nulla. Ho provato ad usare sia access che SQL Server express ma il risultato non cambia. Appena ho un momento mi metto a cercare qualche guida.
  • Re: [VB Express]: Salvare i dati in un DB SQL Server Locale

    Ciao e che nn hai sbagliato... credo.....
    ma x problema di virus ho perso il tuo progetto... scusami...
  • Re: [VB Express]: Salvare i dati in un DB SQL Server Locale

    Dopo ti mando due progetti. Uno basato su Access e uno SQL Server Express.A priori il risultato non cambia, quindi c'è qualcosa da settare da qualche parte.
  • Re: [VB Express]: Salvare i dati in un DB SQL Server Locale

    Ok
  • Re: [VB Express]: Salvare i dati in un DB SQL Server Locale

    Hai provato a lanciare il programma dall'eseguibile che ti viene creato nelle sottocartelle debug e/o release (dipende dal tipo di compilazione che hai fatto) e successivamente nella sottocartella bin?
    Se così funge devi modificare qualche settaggio relativamente al database nell'ide
  • Re: [VB Express]: Salvare i dati in un DB SQL Server Locale

    Se cosi ti funziona, controlla di non avere selezionato l'opzione "copia sempre il database" nell'ide
  • Re: [VB Express]: Salvare i dati in un DB SQL Server Locale

    Dove vedo le impostazioni dell'IDE? Non so dove mettere le mani
  • Re: [VB Express]: Salvare i dati in un DB SQL Server Locale

    Nel riquadro "Esplora soluzioni" ci dovrebbe essere una icona relativa al tuo database creato; ci clicchi sopra, a questo punto nel riquadro "Proprietà" appaiono appunto le sue proprietà, tra le quali (dovrebbe essere la prima) "Copia nella directory di output" e guardi come è settata, se è settata "Copia sempre" cambiala in "Non copiare"

    Oppure ricrei la connessione con il database e quando ti viene detto:
    "La connessione selezionata utilizza un file di dati locale che non si trova nel progetto corrente. Copiare il file nel progetto e modificare la connessione?"

    rispondi di no
  • Re: [VB Express]: Salvare i dati in un DB SQL Server Locale

    Smanettone ti meriti un monumento in piazza! Adesso faccio la prova e vediamo cosa succede!
  • Re: [VB Express]: Salvare i dati in un DB SQL Server Locale

    Posto le modifiche che ho apportato perchè non riesco ancora a salvare i dati nel DB


    Imports System.Data.OleDb
    Public Class frmPrimi
    ' Stringa di connessione
    Dim connStr As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=""C:\ricette\DBRicette.mdb"""
    ' Oggetti per gestire i dati
    Dim da As New OleDbDataAdapter ' DataAdapter
    Dim ds As DataSet = New DataSet() ' DataSet
    Dim bs As New BindingSource() ' BindingSource
    Private Sub frmPrimi_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    'TODO: questa riga di codice carica i dati nella tabella 'DBRicetteDataSet.Primi'. È possibile spostarla o rimuoverla se necessario.
    Me.PrimiTableAdapter.Fill(Me.DBRicetteDataSet.Primi)
    ' Creazione connessione al DB
    Dim conn As OleDbConnection
    conn = New OleDbConnection(connStr)

    ' Pulizia DataSource
    ds.Clear()
    ' apre connessione
    conn.Open()

    ' Queri sul DB attraverso l'oggetto DataAdapter
    da.SelectCommand = New OleDb.OleDbCommand
    da.SelectCommand.Connection = conn
    da.SelectCommand.CommandText = _
    "SELECT * FROM Primi"
    da.SelectCommand.CommandType = CommandType.Text
    da.SelectCommand.ExecuteNonQuery()

    ' Viene riempito il DataSet con i dati nel DataAdapter
    da.Fill(ds, "Primi")

    ' Collegamento del Binding Source con il DataSet
    bs.DataSource = ds
    bs.DataMember = "Primi"

    ' Popolamento della DataGridView con i dati nel DataSet
    PrimiDataGridView.DataSource = bs

    ' chiude connessione
    conn.Close()
    End Sub

    Private Sub PrimiBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles PrimiBindingNavigatorSaveItem.Click
    Dim changes As DataSet = ds.GetChanges()
    Dim connection As OleDbConnection = New OleDbConnection(connStr)
    ' Creazione CommandBuilder
    Dim cmb As New OleDbCommandBuilder(da)
    ' Se articoliDataSet ha subito cambiamenti fa Update sul DB
    If Not changes Is Nothing Then
    Try
    connection.Open()
    da.Update(changes, "Primi")
    da.UpdateCommand = cmb.GetUpdateCommand
    da.AcceptChangesDuringUpdate = True
    connection.Close()
    MessageBox.Show("Database aggiornato con successo", "Ricettario PRO - Informazione", MessageBoxButtons.OK, MessageBoxIcon.Information)
    Catch ex As Exception
    MessageBox.Show("Si è verificato un errore durante il salvataggio dei dati nel database!", "Errore", MessageBoxButtons.OK, MessageBoxIcon.Error)
    End Try
    End If

    End Sub
    End Class
  • Re: [VB Express]: Salvare i dati in un DB SQL Server Locale

    OOOOOOKKKKKKK!!! Con questo codice e l'indicazione specifica di non copiare il DB riesco a salvare correttamente!!!!!!

    Public Class Form1

    Private Sub DBRicetteBindingNavigatorSaveItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DBRicetteBindingNavigatorSaveItem.Click
    Me.Validate()
    Me.DBRicetteBindingSource.EndEdit()
    Me.DBRicetteTableAdapter.Update(Me.DBRicetteDataSet.DBRicette)

    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    'TODO: questa riga di codice carica i dati nella tabella 'DBRicetteDataSet.DBRicette'. È possibile spostarla o rimuoverla se necessario.
    Me.DBRicetteTableAdapter.Fill(Me.DBRicetteDataSet.DBRicette)

    End Sub
    End Class
  • Re: [VB Express]: Salvare i dati in un DB SQL Server Locale



    alla prossima allora, ciao
  • Re: [VB Express]: Salvare i dati in un DB SQL Server Locale

    Problema: ho scritto il codice in questa maniera per salvare i dati della tabella Dessert

    Me.Validate()
    Me.DessertBindingSource.EndEdit()

    Però non riesco a scrivere la riga per fare l'update perchè non mi compare nel completamento automatico. Dovrebbe essere così

    Me.DessertTableAdapter.Update(Me.DBRicetteDataSet.Dessert)

    VB Express mi dice però che Update non è un membro di RicettarioPRO.DBRicetteDataSetTableAdapters.DessertTableAdapter
    Cosa significa?
  • Re: [VB Express]: Salvare i dati in un DB SQL Server Locale

    Premetto che in vb .net io non opero sui database in questo modo, ti posto un link che ti potrebbe essere utile:



    dall'errore che hai, mi viene da pensare che DessertTableAdapter non contenga il riferimento all'oggetto a cui si dovrebbe riferire (scusa il gioco di parole), condizione necessaria affinché si possano usare i suoi metodi; in particolare hai assegnato ad esso un valore restituito da una new? O comunque controlla che esso contenga effettivamente il puntatore all'oggetto della classe a cui appartiene
Devi accedere o registrarti per scrivere nel forum
32 risposte