Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
vi spiego in due parole, progetto in visual basic 2008 e sql server 2005 ho una form_fattura collegata a due tabelle, cioè tabella _descrittiva e tabella_tabellare, dove tabella_descrittiva comprende i dati di un cliente tramite delle texbox, nella tabella_tabellare comprende i dati degli articoli (codarticolo, descrizione, iva e importo) tramite una datagridview,
ora nel buttone_salva faccio un for che mi scorre tutte le colonne della datagridview legendo i dati degli articoli è memorizzandole in variabili che poi uso nell' insert sql, all' uscita del for faccio insert nella tabella_descrittiva e tabella_tabellare (premetto che le due tabelle sono in relazione tramite numerofattura e data).
ma mi dà il seguente errore: "Riferimento a un oggetto non impostato su un'istanza di un oggetto",
se invece metto un insert per la tabella_tabellare dentro il for mi dà per errore che si verifica un conflitto nella tabella_descrittiva a causa della relazione (è mi pare ovvio), spero di essere stato chiaro se è il caso posto il codice.
Vi ringrazio in anticipo a chi mi da una mano.
ascolta, però dovresti anche cercare di risolverli da solo gli errori.
Il messaggio mi pare chiarissimo: sta mettendo un Integer dentro ad un SqlDataReader. Con questo errore davanti, la prima cosa da fare è chiedersi: ma cosa ritorna la ExecuteNonQuery?
Il passo successivo è andare su google, cercare ExecuteNonQuery e cliccare sul link di MSDN
http://msdn.microsoft.com/it-it/library/system.data.sqlcli ... che è il primo risultato.
Noterai che nella sezione "Valore Resitutito" c'é scritto: Numero di righe interessate
Facendo 2+2 arriverai a capire che questo metodo ritornerà quante righe stai andando a modificare/ inserire nel db.
Sarebbe stato così difficile da fare come percorso? Prova ad impegnarti un pochettino di più altrimenti non imparerai mai....
vero hai ragione! è che sono entrato nel pallone... - spiderman - 01/05/11 11:04
ho risolto il problema era nel for "codicearticolo = TAB5_DOCUMENTI_VENDITA_FATTURE_IMMEDIATA_TABELLAREDataGridView.Rows(i).Cells("cod_articolo").Value.ToString" si deve togliere ToString. - spiderman - 01/05/11 23:35
Dim reader1 As SqlDataReader = Command1.ExecuteReader
reader1.Close()
Dim reader2 As SqlDataReader = Command2.ExecuteReader
reader2.Close()
MessageBox.Show("Salvataggio fattura con successo!")
Conn.Close()
Catch ex As Exception
MessageBox.Show(ex.Message)
End Try
in questo modo mi da un errore :"Riferimento a un oggetto non impostato su un'istanza di un oggetto"
se invece metto il Dim command2.... dentro il for è faccio il salvataggio di una sola tabella è poi dopo il for dell'altra tabella tramite Dim command1 mi da un errore nella forekey dicendomi "si è verificato conflitto nella tabella"
spero di essere stato chiaro..
Ultima modifica effettuata da spiderman il 30/04/2011 alle 22:57
OMG OMG OMG Un identificatore con più di 60 caratteri OMG OMG OMG - Il Totem - 01/05/11 10:07