Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Insert into multiplo da listview non funziona
lunedì 05 maggio 2014 - 21.55
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
VB.NET
|
.NET 4.0
|
Visual Studio 2010
|
MySQL 5.5
Mau67
Profilo
| Expert
917
messaggi | Data Invio:
lun 5 mag 2014 - 21:55
Buona sera al forum,
sono diversi giorni che tento di salvare dei dati da una listview ma restituisce sempre errori potete controllarmi il codice perfavore
questa è la struttura della tabella MySQL
ID varchar(100)
ID_Fattura varchar(100)
Voce varchar(50)
Quantita int(11)
P_Unitario decimal(18,2)
e questo è il codice che uso
Private Sub nuovo_Dettaglio()
Connection.Open()
Dim trans As MySqlTransaction
trans = Connection.BeginTransaction()
Try
Dim sql As String = "INSERT INTO fattura_dettaglio (ID,Quantita,Voce,P_Unitario,ID_Fattura )" & _
"VALUES (@ID,@Quantita,@Voce,@P_Unitario,@ID_Fattura )"
Dim comm As MySqlCommand = New MySqlCommand
comm.Connection = Connection
'Inizia la transazione
comm.Transaction = trans
'prima query
comm.CommandText = sql
For a = 0 To ListView1.Items.Count - 1
comm.Parameters.AddWithValue("@ID", ListView1.Items(a).ToString)
comm.Parameters.AddWithValue("@Quantita", CInt(ListView1.Items(a).SubItems(1).ToString))
comm.Parameters.AddWithValue("@Voce", ListView1.Items(a).SubItems(2).ToString)
comm.Parameters.AddWithValue("@P_Unitario", ListView1.Items(a).SubItems(3).ToString)
comm.Parameters.AddWithValue("@ID_Fattura", m_ParametroID)
comm.ExecuteNonQuery()
Next
'eseguo la transazione
trans.Commit()
MessageBox.Show("Inserimento Eseguito Correttamente", "", MessageBoxButtons.OK, MessageBoxIcon.Information)
Catch ex As MySqlException
'se si sono verificati errori faccio il rollback
trans.Rollback()
MessageBox.Show("Inserimento fallito" + ControlChars.CrLf + ex.ToString, "", MessageBoxButtons.OK, MessageBoxIcon.Information)
Finally
'chiudiamo sempre le connessioni!
Connection.Close()
End Try
End Sub
Spero in un aiuto sono giorni che provo non funziona
Grazie
Mau67
AntCiar
Profilo
| Expert
936
messaggi | Data Invio:
mar 6 mag 2014 - 00:02
IL problema potrebbe stare nel campo 'P_Unitario'. Essendo un double quando lo passi nella transaction come parametro fai il ToString() che te lo formatta con la virgola (per la Culture It-IT). Questo di solito da fastidio perchè il command si aspetta di ricevere valori decimali con il punto e non con la virgola.
Per confermare la cosa prova a fare degi insert fittizi inserendo valori senza decimali per il campo P_Unitario. Se non ti da errore il problema è questo.
se è così ti consiglio di non passare per il Tostring() in modo da evitare di incorrere in questi problemi. Se possibile conservati i valori nei tipi orignali.
Cristian Barca
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !