Valeur NULL comme sql parameter in vb.net

Signaler
-
Messages postés
8
Date d'inscription
samedi 18 novembre 2000
Statut
Membre
Dernière intervention
4 mai 2013
-
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 :ccool: ! 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 le fichier ne veut pas s'enregistré . 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

3 réponses


Bonjour,

C'est en définissant tes colonnes que tu peux les paramétrer pour qu'elles acceptent une valeur nulle. Mais je n'ai vraiment pas envie de chercher à ta place.

Et puis, nous ne sommes pas icipour faire les devoirs des étudiants.
désolé mais je ne cherche pas a ce qu' on me fasse mon code , mais juste un coup de main pour m'aider à avancer . Merci d'avance
Messages postés
8
Date d'inscription
samedi 18 novembre 2000
Statut
Membre
Dernière intervention
4 mai 2013
1
essaie ce code

For Each p As SqlClient.SqlParameter In cmd5.Parameters
p.IsNullable = True
Next