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

    Vb 2010 express salvataggio su database access

    Salve a tutti,
    sono nuovo del forum ma soprattutto alle primissime armi col visual basic.
    Premetto che ho già cercato nelle varie discussioni una soluzione che risolvesse il mio problema ma il "collage" di istruzioni che ne è venuto fuori non ha funzionato..
    Sto cercando di realizzare una semplice applicazione che possa gestire un database esterno di Access.
    Riesco a visualizzarne il contenuto su un datagridview, ma quando provo a creare un nuovo record non succede nulla...
    Il database "prova2" contiene una semplice tabella denominata "fede" con i seguenti campi: id, nome, quantità, scarica.
    Vi sarei grato se mi indirizzaste su una strada corretta.
    Mi scuso in partenza per eventuali strafalcioni di codice...
    Grazie in anticipo
    Federico

    Imports System.Data.OleDb

    Public Class Form1

    Private Sub DataGridView1_CellContentClick(ByVal sender As System.Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellContentClick
    End Sub

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    Me.FedeTableAdapter.Fill(Me.Prova2DataSet.fede)
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

    Using cn As New OleDbConnection("Provider=Microsoft.ACE.OLEDB.12.0 ;Data Source=C:\Users\Federico\Desktop\prova2.accdb;Pers ist Security Info=False;")

    Try

    cn.Open()

    Dim cminserisci As New OleDbCommand("INSERT INTO fede (id, nome, quantità, scarica) VALUES(?, ?,?, ?)", cn)

    cminserisci.Parameters.Add(New OleDb.OleDbParameter("@id", OleDb.OleDbType.VarWChar))
    cminserisci.Parameters.Add(New OleDb.OleDbParameter("@nome", OleDb.OleDbType.VarWChar))
    cminserisci.Parameters.Add(New OleDb.OleDbParameter("@quantità", OleDb.OleDbType.VarWChar))
    cminserisci.Parameters.Add(New OleDb.OleDbParameter("@scarica", OleDb.OleDbType.VarWChar))

    cminserisci.Parameters(0).Value = "1"
    cminserisci.Parameters(1).Value = "farina"
    cminserisci.Parameters(2).Value = "500"
    cminserisci.Parameters(3).Value = True

    cminserisci.ExecuteNonQuery()

    Catch ex As Exception

    End Try

    cn.Close()

    End Using
    End Sub
    End Class

  2. #2
    Utente di HTML.it
    Registrato dal
    Mar 2014
    residenza
    Vicenza
    Messaggi
    318
    Dal codice togli le seguenti tre righe:

    Try
    Catch ex As Exception
    End Try

    e riprova, vedi che errore ti esce

    Sergio

  3. #3
    Sull'istruzione "cminserisci.ExecuteNonQuery()" mi da quest'errore:
    "Oledbexeption non è stata gestita"

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quote Originariamente inviata da Ricofede85 Visualizza il messaggio
    Sull'istruzione "cminserisci.ExecuteNonQuery()" mi da quest'errore:
    "Oledbexeption non è stata gestita"
    Sei sicuro che id e quantità non siano campi numerici?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  5. #5
    Utente di HTML.it
    Registrato dal
    Mar 2014
    residenza
    Vicenza
    Messaggi
    318
    Quote Originariamente inviata da Ricofede85 Visualizza il messaggio
    Sull'istruzione "cminserisci.ExecuteNonQuery()" mi da quest'errore:
    "Oledbexeption non è stata gestita"
    OK, ma quando la mandi in esecuzione che errore ti esce ??

  6. #6
    Quote Originariamente inviata da oregon Visualizza il messaggio
    Sei sicuro che id e quantità non siano campi numerici?
    Hai assolutamente ragione!
    ho risolto così:

    cminserisci.Parameters.Add(New OleDb.OleDbParameter("@id", OleDb.OleDbType.Integer))
    cminserisci.Parameters.Add(New OleDb.OleDbParameter("@nome", OleDb.OleDbType.VarWChar))
    cminserisci.Parameters.Add(New OleDb.OleDbParameter("@quantità", OleDb.OleDbType.Integer))
    cminserisci.Parameters.Add(New OleDb.OleDbParameter("@scarica", OleDb.OleDbType.Boolean))

    Grazie!

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quote Originariamente inviata da Ricofede85 Visualizza il messaggio
    Hai assolutamente ragione!
    ho risolto così:

    cminserisci.Parameters.Add(New OleDb.OleDbParameter("@id", OleDb.OleDbType.Integer))
    cminserisci.Parameters.Add(New OleDb.OleDbParameter("@nome", OleDb.OleDbType.VarWChar))
    cminserisci.Parameters.Add(New OleDb.OleDbParameter("@quantità", OleDb.OleDbType.Integer))
    cminserisci.Parameters.Add(New OleDb.OleDbParameter("@scarica", OleDb.OleDbType.Boolean))

    Grazie!
    Di nulla ...
    No MP tecnici (non rispondo nemmeno!), usa il forum.

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.