79 messaggi dal 04 settembre 2010
Buon pomeriggio,
ho un piccolo problema che non riesco a risolvere in merito al caricamento di dati da un foglio excel in una gridview con colonna checkbox.

Mi spiego meglio, quotidianamente gli operatori ricevono dei file excel contenenti oltre i 300 record per file, di richieste di acquisto prodotti.

Da questi file excel estrapolo solo il codice prodotto e la quantità, caricandoli in una gridview con checkbox che selezionando tutto dovrei caricarli all'interno del mio database.

Per quanto riguarda il popolamento dei file nella gridview e il successivo inserimento nel database non ho problemi, pero inserendo i dati con una insert into con select che legge la denominazione dei prodotti dalla mia tabella prodotti, quando non trova un articolo non mi carica tutti i prodotti richiesti nella tabella ordini.
Vorrei sapere se è possibile conoscere la lista dei prodotti non caricati con una sorta di file log o report?

Questo è il codice che utilizzo per l'importazione dell'ordine
 Try
          Dim query As String = "INSERT INTO pratica_dettaglio (ID_Pratica,Nuc,Denominazione,Quantita,Prezzo,Stato,Quantita_Indisp,Mc,Peso) SELECT * FROM (SELECT @ID_Pratica, materiali.Nuc, materiali.Denominazione,@Quantita,materiali.Prezzo * " & _Qta & ",@Stato,@Quantita_Indisp,@Mc,@Peso FROM materiali WHERE materiali.Nuc=@Nuc) As Temp WHERE NOT EXISTS (SELECT Nuc FROM pratica_dettaglio WHERE pratica_dettaglio.Nuc=@Nuc And pratica_dettaglio.ID_Pratica=@ID_Pratica) LIMIT 1"
                    Dim sqlCmd As MySqlCommand = New MySqlCommand(query, conn)
                    sqlCmd.Parameters.AddWithValue("@ID_Pratica", txtID.Text)
                    sqlCmd.Parameters.AddWithValue("@Nuc", sFine)
                    sqlCmd.Parameters.AddWithValue("@Quantita", _Qta)
                    If _QtaInd = Val(0) Then
                        sqlCmd.Parameters.AddWithValue("@Quantita_Indisp", DBNull.Value)
                    Else
                        sqlCmd.Parameters.AddWithValue("@Quantita_Indisp", _QtaInd)
                    End If
                    sqlCmd.Parameters.AddWithValue("@Stato", _Indisp)
                    sqlCmd.Parameters.AddWithValue("@Mc", _MC)
                    sqlCmd.Parameters.AddWithValue("@Peso", _Peso)
                    conn.Open()
                    sqlCmd.ExecuteNonQuery()
                    'conn.Close()
                    'Recupero l'ID inserito
                    Dim ultimoIdInserito As Long = sqlCmd.LastInsertedId
                    If myCheckBox.Checked Then
                        counter = (counter + 1)
                    End If
                    MessageBox1.ShowSuccess("Nr. record " & counter & " " & "Inseriti Correttamente")
                Catch ex As Exception
                    MessageBox1.ShowError(ex.Message)
                End Try
                conn.Close()


Grazie in anticipo

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.