|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Junior Member
Iscritto dal: Nov 2009
Messaggi: 15
|
[VB.NET] Inserimenti record in database con OLEDB
Buongiorno a tutti,
questo è il mio primo post, e spero di non aver sbagliato sezione. Ho cominciato da poco a programmare in VB.NET e sto tentanto di effettuare una connessione ad un database di access 2007. Per la connessione non ho problemi però non riesco a fare l'inserimento di una nuova riga in una tabella. Vi incollo sotto il codice da me scritto: Public Class Form1 Private PercorsoDB As String = "C:\proveVB2010\gestionale.accdb" Private ConnString As String = "Provider=Microsoft.ACE.OLEDB.12.0;" & _ "Data Source=" & PercorsoDB Private CnnAccess As New OleDb.OleDbConnection(ConnString) Dim DA As New OleDb.OleDbDataAdapter Dim DS As New DataSet Dim DSROW As DataRow Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim SQL As String = "Select * from PROVA" Dim ObjCommand As New OleDb.OleDbCommand ObjCommand.Connection = CnnAccess ObjCommand.CommandText = SQL DA.SelectCommand = ObjCommand DA.Fill(DS, "PROVA") GrdClienti.DataSource = DS.Tables("PROVA") Dim cmd As New OleDb.OleDbCommandBuilder(DA) DSROW = DS.Tables("PROVA").NewRow() DSROW.Item(0) = "Dario" DSROW.Item(1) = "Dario1" DS.Tables("Clienti").Rows.Add(DSROW) DA.Update(DS, "Clienti") End Sub End Class Il programma viene compilato correttamente, però al momento in cui clicco su Command1 mi genera il seguente errore: "Object reference not set to an instance of an object." riferito a DSROW nel punto in cui l'ho evidenziato in rosso. Grazie a tutti!! |
|
|
|
|
|
#2 | |
|
Senior Member
Iscritto dal: Dec 2004
Messaggi: 3210
|
Quote:
Il problema è abbastanza evidente : prima esegui il Fill su DS con la tabella "PROVA", crei una riga DSROW con NewRow, quindi assume la struttura della tabella PROVA, e poi tenti di inserirla in una tabella del DataSet "Clienti", che ovviamente non può esistere. L'errore è su quella riga, ma la colpa è della tabella "Clienti". |
|
|
|
|
|
|
#3 |
|
Junior Member
Iscritto dal: Nov 2009
Messaggi: 15
|
La prossima volta certe prove è meglio che le faccio di mattina bello fresco!! Grazie tante!!!! |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 22:08.




















