IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

problème de la requête d'insertion


Sujet :

VB.NET

  1. #1
    Membre régulier Avatar de spring.time
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2011
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 294
    Points : 84
    Points
    84
    Par défaut problème de la requête d'insertion
    Bonjour
    j'aimerais que vous m'aidiez s'il vous plait, pour un formulaire contenu des champs à saisir: des dates, des montants, ....
    l'utilisateur m'a dit, qu'il n'est pas obligé de saisir toutes les zones pour enregistrer ce formulaire.
    j'ai utilisé par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
     req = "insert into maTable(val1, val2,....)values(@var1, @var2,...)"
    cmd = New SqlCommand()
            cmd.Connection = con
            cmd.CommandText = req
     
     
            With cmd.Parameters
                .Add(New SqlParameter("@var1", SqlDbType.NVarChar))
                ....
            End With
            With cmd
                .Parameters("@var1").Value = v1
    'avec v1 est un argument passé à une procédure d'insertion 
     End With
     
            cmd.ExecuteNonQuery()
    est ce qu'il y'a un moyen de faire ceci même s'il existe des paramètres qui n'ont pas de valeur?

    Merci

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Déjà il faut vérifier que les colonnes de ta base de données acceptent bien les valeurs NULL. Ensuite, dans le code, il faut faire appel à DBNull.Value lorsque nécessaire. Exemple en supposant que v1 soit de type String :
    Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    req = "insert into maTable(val1, val2,....)values(@var1, @var2,...)"
    cmd = New SqlCommand()
    cmd.Connection = con
    cmd.CommandText = req
     
    With cmd.Parameters
        .Add(New SqlParameter("@var1", SqlDbType.NVarChar))
        ....
    End With
     
    With cmd
        .Parameters("@var1").Value = If (String.IsNullOrEmpty(v1), DBNull.Value, v1) ' Si v1 est vide, on passe un NULL, sinon on passe v1
    End With
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Membre régulier Avatar de spring.time
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2011
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 294
    Points : 84
    Points
    84
    Par défaut
    et s'il s'agit d'un int ou autre?

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Un type int en C# ne peut pas être null.

    Pour les autres types tu peux faire :
    Code VB.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    .Parameters("@var1").Value = If (v1 Is Nothing, DBNull.Value, v1)
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  5. #5
    Membre régulier Avatar de spring.time
    Femme Profil pro
    Développeur informatique
    Inscrit en
    Décembre 2011
    Messages
    294
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 33

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2011
    Messages : 294
    Points : 84
    Points
    84
    Par défaut
    Merci beaucoup, cela m'était utile

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. problème dans une requête d'insertion
    Par SmileSoft dans le forum C++Builder
    Réponses: 16
    Dernier message: 04/02/2009, 08h47
  2. Problème dans une requête d'insertion
    Par celica dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 19/09/2007, 15h28
  3. Problème d'une requête SQL INSERT
    Par bejaad dans le forum VBA Access
    Réponses: 1
    Dernier message: 02/07/2007, 12h53
  4. [VB.NET/Access] Problème avec une requête d'insertion
    Par Bladinou dans le forum Accès aux données
    Réponses: 8
    Dernier message: 29/05/2007, 18h06
  5. Problème sur une requête INSERT
    Par Marion dans le forum Langage SQL
    Réponses: 3
    Dernier message: 17/06/2003, 08h45

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo