bonjour à tous , je me dirige vers parce que je bloque au niveau de mon projet de pfe (vb.net) . le probleme est le suivant :
je charge un fichier excel avec des enregistrement vers un datagridview tout ce passe nikel ! deuxieme etape et c'est la ou se passe le probleme quant je veut enregistré le fichier vers une B.D sql , si toute les colonne sont pleine le fichier s'enregistre sans probleme mais il suffit qu'une colonne soit sans enregistrement par exemple la clonne 3 (@cole3) le fichier ne veut pas s'enregistré avec message d'erreur (La référence d'objet n'est pas définie à une instance d'un objet.) . je vous serez reconnaissant de votre aide .

voici mon code :

Try






cmd5.CommandText = "INSERT INTO caracteristique (Type_du_serveur, Nature_du_serveur, Rack, Systéme_d_Exploitation, Vérsion_SE, BDD, Vérsion_BDD, DD, partition_systeme, type_dd, partition_data, autre_partition, Cpu, Ram) VALUES (@Col1, @Col2, @Col3,@Col4, @Col5, @Col6 , @Col7, @Col8, @Col9, @Col10, @Col11, @Col12, @Col13, @Col14)"
cmd5.Connection = cn



cmd5.Parameters.Add("@Col1", SqlDbType.VarChar, 25)
cmd5.Parameters.Add("@Col2", SqlDbType.VarChar, 25)
cmd5.Parameters.Add("@Col3", SqlDbType.VarChar, 25)
cmd5.Parameters.Add("@Col4", SqlDbType.VarChar, 25)
cmd5.Parameters.Add("@Col5", SqlDbType.VarChar, 25)
cmd5.Parameters.Add("@Col6", SqlDbType.VarChar, 25)
cmd5.Parameters.Add("@Col7", SqlDbType.VarChar, 25)
cmd5.Parameters.Add("@Col8", SqlDbType.VarChar, 25)
cmd5.Parameters.Add("@Col9", SqlDbType.VarChar, 25)
cmd5.Parameters.Add("@Col10", SqlDbType.VarChar, 25)
cmd5.Parameters.Add("@Col11", SqlDbType.VarChar, 25)
cmd5.Parameters.Add("@Col12", SqlDbType.VarChar, 25)
cmd5.Parameters.Add("@Col13", SqlDbType.VarChar, 25)
cmd5.Parameters.Add("@Col14", SqlDbType.VarChar, 25)


cmd5.Prepare()



For Each row As DataGridViewRow In DataGridView2.Rows


If Not row.IsNewRow Then



cmd5.Parameters("@Col1").Value = row.Cells(3).Value.ToString
cmd5.Parameters("@Col2").Value = row.Cells(4).Value.ToString
cmd5.Parameters("@Col3").Value = row.Cells(5).Value.ToString
cmd5.Parameters("@Col4").Value = row.Cells(6).Value.ToString
cmd5.Parameters("@Col5").Value = row.Cells(7).Value.ToString
cmd5.Parameters("@Col6").Value = row.Cells(8).Value.ToString
cmd5.Parameters("@Col7").Value = row.Cells(9).Value.ToString
cmd5.Parameters("@Col8").Value =row.Cells(10).Value.ToString
cmd5.Parameters("@Col9").Value =row.Cells(11).Value.ToString
cmd5.Parameters("@Col10").Value=row.Cells(12).Value.ToString
cmd5.Parameters("@Col11").Value=row.Cells(13).Value.ToString
cmd5.Parameters("@Col12").Value=row.Cells(14).Value.ToString
cmd5.Parameters("@Col13").Valu =row.Cells(15).Value.ToString
cmd5.Parameters("@Col14").Valu =row.Cells(16).Value.ToString




cmd5.ExecuteNonQuery()
End If

Next


Catch ex As SqlException
' Display error
Console.WriteLine("Error: " & ex.ToString())
Finally


' Close Connection


MessageBox.Show("enregistré ")
Console.WriteLine("Connection Closed")
End Try