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

ASP.NET Discussion :

Pb de formview en connexion avec Access


Sujet :

ASP.NET

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 114
    Points : 61
    Points
    61
    Par défaut Pb de formview en connexion avec Access
    Salut

    Je veux faire un formulaire pour afficher, éditer ou rentrer des données dans ma base Access. J'ai donc pensé au formview, seulement il y a des problèmes lors des mises à jour de la base : certaines Textboxes se mettent bien à jour, d'autre pas, je ne sais pas pourquoi. Il n'y a pas de contraintes particulières dans ma base pourtant. Pas de propriétés particulières sur les textboxes non plus .D'autre part dans le mode insert, il memet le message d'erreur suivant :
    Vous avez essayé d'affecter la valeur Null à une variable qui n'est pas du type de données Variant.
    Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

    Détails de l'exception: System.Data.OleDb.OleDbException: Vous avez essayé d'affecter la valeur Null à une variable qui n'est pas du type de données Variant.

    Erreur source:

    Une exception non gérée s'est produite lors de l'exécution de la demande Web actuelle. Les informations relatives à l'origine et l'emplacement de l'exception peuvent être identifiées en utilisant la trace de la pile d'exception ci-dessous.
    L'autre solution c'est de faire tout par le code, mais c'est lourdingue, à ce moment là çà ne sert à rien d'avoir VS.NET
    D'autant plus que même les update codés à la mano me posent problème, il y a ce genre de messages :
    Erreur de syntaxe (opérateur absent) dans l'expression ''12 rue de l'Industrie' ,[adresse 2]='BP30096 ds la merde' ,[adresse 3]='' where id=257;'.
    Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

    Détails de l'exception: System.Data.OleDb.OleDbException: Erreur de syntaxe (opérateur absent) dans l'expression ''12 rue de l'Industrie' ,[adresse 2]='BP30096 ds la merde' ,[adresse 3]='' where id=257;'.

    Erreur source:


    Ligne 75 : cnx.Open();
    Ligne 76 : cmd.CommandText = "update clients set [nom]='" + txtnom.Text + "' ,[adresse 1]='" + Txtadresse1.Text + "' ,[adresse 2]='" + Txtadresse2.Text + "' ,[adresse 3]='" + Txtadresse3.Text + "' where id=" + Request["id"]+";";
    Ligne 77 : cmd.ExecuteNonQuery();
    Ligne 78 : cnx.Close();
    Ligne 79 : }
    Avec tout çà je suis bien bloqué dans le développement de mon appli.
    Si quelqu'un a des idées je suis preneur.
    Merci beaucoup d'avance

  2. #2
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Utilise des requètes paramétrées

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim cmdGetCategory As DbCommand = dbFactory.CreateCommand
                    With cmdGetCategory
                        .Connection = cnxBPMI_READ
                        .CommandText = "SELECT * FROM " + TABLENAME + " WHERE procedureId=?"
     
                        Dim Param As DbParameter = dbFactory.CreateParameter
                        With Param
                            .ParameterName = "@procedureId"
                            .DbType = DbType.Int32
                            .Value = _id
                        End With
     
                        .Parameters.Add(Param)
                    End With

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 114
    Points : 61
    Points
    61
    Par défaut
    Ouh là !!!
    C'est un peu "ésotérique" pour moi. Je débute sous VS.NET et C#.
    Si je comprends bien tu me conseilles de ne pas utiliser de formview mais des requêtes écrites par moi-même ?
    D'autre part, si je comprends bien ce que fait ton code, c'est une requête select avec des paramètres comme le id. Moi aussi j'utilise ces paramètres : des txtbox.Text, des request["id"]. Le problème c'est que çà marche bien pour des select, mais les requêtes action (insert, update) me posent des problèmes, comme je l'explique dans mon premier post. Est-ce que c'est un problème de base (Access), de syntaxe, au vu des messages d'erreur ?
    Zatissezekouestionne

  4. #4
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Je pense à un pb de syntaxe.
    Donc je te propose ma solution pour ce que t'appelles les updates codés à la mano

  5. #5
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Sinon y a un truc bizarre là

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Détails de l'exception: System.Data.OleDb.OleDbException: 
    Erreur de syntaxe (opérateur absent) dans l'expression ''12 rue de l'Industrie' ,
    [adresse 2]='BP30096 ds la merde' ,[adresse 3]='' where id=257;'.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 114
    Points : 61
    Points
    61
    Par défaut
    Moi aussi au début j'avais tilté sur cette cote doublée, mais en fait c'est l'ouverture de la citation du message d'erreur, qui d'ailleurs se ferme à l'autre bout, juste avant le point.Faut plutôt le voir comme çà:
    Détails de l'exception: System.Data.OleDb.OleDbException:
    Erreur de syntaxe (opérateur absent) dans l'expression ''12 rue de l'Industrie' ,
    [adresse 2]='BP30096 ds la merde' ,[adresse 3]='' where id=257;'.
    Non je ne pense pas que çà vienne de ma syntaxe quand même. Au passage, je ne comprends pas pourquoi çà pose un problème à mon SGBD
    Je me demande pourquoi le Formview ne fonctionne pas non plus
    Y rien qui marche...

  7. #7
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    T'as bindé ton form view sur quoi?

  8. #8
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 114
    Points : 61
    Points
    61
    Par défaut
    Désolé j'étais parti manger...
    Mon formview est bindé sur un AccessDataSource, qui gère la connexion avec ma base Access. Evidemment j'ai paramétré les requêtes dans les deux sens...

  9. #9
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Ok, donc ca devrait marcher tout seul

    Tu dois passer une valeur qui viole une contrainte dans ta DB

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    114
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 114
    Points : 61
    Points
    61
    Par défaut
    J'ai aussi pensé à çà, mais je n'ai pas de contraintes sur mes champs.
    J'ai même supprimé les intégrités référentielles pour être sûr.
    Le plus étonnant c'est que l'update marche sur certains champs et pas d'autres.
    Par contre l'insert ne marche pas du tout dans mes formviews.
    Je vais donc m'arracher les (derniers) cheveux, çà m'aidera sûrement...
    Conclusion : y'a des bugs entre VS.NET et Access.

  11. #11
    Rédacteur
    Avatar de lutecefalco
    Profil pro
    zadzdzddzdzd
    Inscrit en
    Juillet 2005
    Messages
    5 052
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : zadzdzddzdzd

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 052
    Points : 8 734
    Points
    8 734
    Par défaut
    Citation Envoyé par patbeautifulday1
    Conclusion : y'a des bugs entre VS.NET et Access.
    Non je pense pas, ça vient de ton code

Discussions similaires

  1. Problème connexion avec access
    Par dav787 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 08/06/2012, 17h51
  2. pepin pour une connexion avec access
    Par hi-wave dans le forum VB.NET
    Réponses: 3
    Dernier message: 25/01/2010, 16h58
  3. pb de connexion avec access
    Par kenza28684 dans le forum JDBC
    Réponses: 4
    Dernier message: 20/04/2009, 15h54
  4. Chaine de connexion avec Access 2007
    Par BROUSO dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 15/09/2008, 08h41
  5. Réponses: 1
    Dernier message: 06/04/2006, 15h35

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