ERREUR
ichou
-
Kalissi Messages postés 218 Date d'inscription Statut Membre Dernière intervention -
Kalissi Messages postés 218 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
JE SUIS entrain de développer une application mais j'ai rencontre un problème au niveau de l'execution de cette requette
il affiche l'erreur suivant :
There are fewer columns in the INSERT statement than values specified in the VALUES clause. The number of values in the VALUES clause must match the number of columns specified in the INSERT statement.
mon programme est
Private Sub Enregistrer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Enregistrer.Click
If TBTE.Text <> "" & IsNumeric(TBTE.Text) Then
'********************************* Enregistrer les prix unitaires****************************************************
Dim pug As Decimal = CDec(TBPUG.Text)
Dim pue As Decimal = CDec(TBPUE.Text)
Dim pum As Decimal = CDec(TBPUM.Text)
ajouter_prix_unitaire(DJ.Value, pug, pue, pum)
la fonction et la suivante
Sub ajouter_prix_unitaire(ByVal dt As Date, ByVal pug As Decimal, ByVal pue As Decimal, ByVal pum As Decimal)
Cn.Open()
Dim Requete2 As String = "insert into PrixU (Date_PU,PUG,PUE,PUM) values('" & dt.Date & "'," & (pug) & "," & (pue) & "," & (pum) & ")"
Dim Commande2 As New SqlCommand(Requete2, Cn)
Commande2.ExecuteNonQuery()
Cn.Close()
End Sub
svp j'ai besoin de l'aide
JE SUIS entrain de développer une application mais j'ai rencontre un problème au niveau de l'execution de cette requette
il affiche l'erreur suivant :
There are fewer columns in the INSERT statement than values specified in the VALUES clause. The number of values in the VALUES clause must match the number of columns specified in the INSERT statement.
mon programme est
Private Sub Enregistrer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Enregistrer.Click
If TBTE.Text <> "" & IsNumeric(TBTE.Text) Then
'********************************* Enregistrer les prix unitaires****************************************************
Dim pug As Decimal = CDec(TBPUG.Text)
Dim pue As Decimal = CDec(TBPUE.Text)
Dim pum As Decimal = CDec(TBPUM.Text)
ajouter_prix_unitaire(DJ.Value, pug, pue, pum)
la fonction et la suivante
Sub ajouter_prix_unitaire(ByVal dt As Date, ByVal pug As Decimal, ByVal pue As Decimal, ByVal pum As Decimal)
Cn.Open()
Dim Requete2 As String = "insert into PrixU (Date_PU,PUG,PUE,PUM) values('" & dt.Date & "'," & (pug) & "," & (pue) & "," & (pum) & ")"
Dim Commande2 As New SqlCommand(Requete2, Cn)
Commande2.ExecuteNonQuery()
Cn.Close()
End Sub
svp j'ai besoin de l'aide
A voir également:
- ERREUR
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- J'aime par erreur facebook notification - Forum Facebook
- Code erreur f3500-31 ✓ - Forum Bbox Bouygues
- Java code erreur 1603 ✓ - Forum Windows
1 réponse
Bonjour,
Tu utilise beaucoup d'instructions VB6, je te recommande d'utiliser des
instructions VB.NET
IsNumeric !!! VB6
CDec !!! VB6
Utilise plutôt de vrai instructions VB.NET et non des instructions VB6,
va voir dans les propriétés de ton projet, onglet Références
Dans la Fenêtre du bas tu devrait trouver (Microsoft.VisualBasic)
Cette référence te permet d'utiliser des instruction VB6, mais tu apprendra
de la mauvaise façon à coder en vrai VB.NET
C'est ton choix.
Et pour ta requête, utilise un StringBuilder, c'est beaucoup plus facile de ne rien oublier.
K
Tu utilise beaucoup d'instructions VB6, je te recommande d'utiliser des
instructions VB.NET
IsNumeric !!! VB6
CDec !!! VB6
Private Sub Enregistrer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Enregistrer.Click
If TBTE.Text <> "" And IsNumeric(TBTE.Text) Then
'*********** Enregistrer les prix unitaires**
Dim pug As Decimal = CDec(TBPUG.Text)
Dim pue As Decimal = CDec(TBPUE.Text)
Dim pum As Decimal = CDec(TBPUM.Text)
ajouter_prix_unitaire(DJ.Value, pug, pue, pum)
End If
End Sub
Utilise plutôt de vrai instructions VB.NET et non des instructions VB6,
va voir dans les propriétés de ton projet, onglet Références
Dans la Fenêtre du bas tu devrait trouver (Microsoft.VisualBasic)
Cette référence te permet d'utiliser des instruction VB6, mais tu apprendra
de la mauvaise façon à coder en vrai VB.NET
C'est ton choix.
Private Sub Enregistrer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Enregistrer.Click
Dim pug As Decimal = 0
Dim pue As Decimal = 0
Dim pum As Decimal = 0
Dim DJ As Date = System.DateTime.Now
If Not String.IsNullOrEmpty(TBTE.Text) Then
Dim Nombre As Int32 = 0
If (Int32.TryParse(TBTE.Text, Nombre)) Then
'*********** Enregistrer les prix unitaires**
Dim Nombre1 As Decimal = 0
Dim Nombre2 As Decimal = 0
Dim Nombre3 As Decimal = 0
If Not (String.IsNullOrEmpty(TBPUG.Text)) Then
If (Decimal.TryParse(TBPUG.Text, Nombre1)) Then
pug = Nombre1
End If
End If
If Not (String.IsNullOrEmpty(TBPUE.Text)) Then
If (Decimal.TryParse(TBPUE.Text, Nombre2)) Then
pue = Nombre2
End If
End If
If Not (String.IsNullOrEmpty(TBPUM.Text)) Then
If (Decimal.TryParse(TBPUM.Text, Nombre3)) Then
pum = Nombre2
End If
End If
End If
Ajouter_prix_unitaire(DJ, pug, pue, pum)
End If
End Sub
Et pour ta requête, utilise un StringBuilder, c'est beaucoup plus facile de ne rien oublier.
Private Sub Ajouter_prix_unitaire(ByVal dt As Date, ByVal pug As Decimal, ByVal pue As Decimal, ByVal pum As Decimal)
Cn.Open()
Dim Requete2 As String = String.Empty
Dim ReqSQL As New System.Text.StringBuilder
ReqSQL.Append("INSERT INTO PrixU (Date_PU, PUG, PUE, PUM) VALUES ")
ReqSQL.Append("('")
ReqSQL.Append(dt.Date)
ReqSQL.Append("','")
ReqSQL.Append(pug)
ReqSQL.Append("','")
ReqSQL.Append(pue)
ReqSQL.Append("','")
ReqSQL.Append(pum)
ReqSQL.Append("')")
Requete2 = ReqSQL.ToString
Dim Commande2 As New SqlCommand(Requete2, Cn)
Commande2.ExecuteNonQuery()
Cn.Close()
End Sub
K