Originariamente inviato da sistemipos
neptune, grazie per il tempo che mi stai dedicando, ma nonostante tutti i tuoi consigli non funzione proprio l'inserimento...
ora ti allego tutto il codice di un programma che inserisce in un DB chiamato prova con tabella chiamata provatab i dati di un form
se ti è possibile scrivimi le eventuali modifiche che devo fare x farlo funzionare

codice:
Imports System.Data
Imports System.Data.OleDb
Imports System.Data.SqlClient


Public Class FrmInizio
    Dim ConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source =prova.mdb"

    'ora dobbiamo dichiarare ancora un po’ di cose, la connessione, il contenitore per 
    'il record che andiamo di volta in volta a leggere, il comando che andremo 
    'ad eseguire e la stringa sql che costituisce il testo del comando (la SELECT
    ' vera e propria)
    Dim Cn As New OleDbConnection(ConnString)   'stringa di connessione al database
    Dim dr As OleDbDataReader   'legge nel database
    Dim cmd As OleDbCommand 'da comandi al database
    Dim sql As String   'memorizzo in questa variabile le istruzioni sql

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        

    End Sub

    Private Sub BttInserisci_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BttInserisci.Click
        Dim sql As String

        'connetto il database
        Cn.Open()
        'creazione nuovo record

        'istruzione di inserimento in sql
        sql = "INSERT INTO provatab (descrizione,codice) VALUES ('" + TxtDescrizione.Text + "','" + TxtCodice.Text + "')"
        'cmd.Connection = Cn
        Dim cmd As New OleDb.OleDbCommand(sql, Cn)
        'eseguiamo l'istruzione di inserimento
        cmd.ExecuteNonQuery()

        Me.ProvaTabBindingSource.EndEdit()
        Me.ProvatabTableAdapter.Fill(Me.ProvaDataSet.provatab)

        'chiusura connessione
        Cn.Close()
        'messaggio di conferma dell'aggiunta record
        MsgBox("Aggiunto Correttamente")
    End Sub

End Class
a questo punto il database non risulta minimamente modificato

grazie mille

stefano
Dimmi, ma il programma lo avvi dall'eseguibile oppure dall'ide di visual basic? perchè se lo avvii dall'ide non te li salverà mai i dati nel database

Spero che tu avvii il programma da "..\Documenti\Visual Studio 2005\Projects\Tuoprogramma\Tuoprogramma\obj\Debug\ Tuoprogramma.exe"

Se anche così non fosse prova a cambiare la stringa di connessione del database in

codice:
Dim ConnString As String = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=|DataDirectory|\prova.mdb"
Ovviamente con questa stringa di connessione si presuppone che il database prova.mdb si trovi nella stessa directory dell'eseguibile.

Così dovrebbe andare, ma se non va nemmeno così fammi sapere, anche se devo ammettere di essere a corto di idee alternative

P.S: Ad ogni modo non ti preoccupare di chiedere, ovviamente se prima di farlo cerchi eventuali discussioni uguali tramite il motore di ricerca del forum, io per primo creo discussioni chilometriche su problemi "alla parvenza inrisolvibili", poi arriva il principe azzurro di turno (anche se avrei preferito una principessa ) e mi salva