Problème d'insertion dans la base de donnée [VB.NET 2010] [Résolu]

Messages postés
16
Date d'inscription
dimanche 3 décembre 2000
Dernière intervention
23 juin 2011
- - Dernière réponse : Mayzz
Messages postés
2859
Date d'inscription
mardi 15 avril 2003
Dernière intervention
26 novembre 2013
- 26 juin 2011 à 00:36
Bonjour,
Voilà les amis je suis entrain de développer une application Windows Form sur Visual Studio 2010 sur le thème gestion d'un parc informatique.

j'ai un petit problème que je n'arrive pas l’expliquer bref voilà un résumé de mon projet:

Voilà j'ai un formulaire form1 qui contient les champs a partir du DATASET
et un autre formulaire qui sert a ajouté des enregistrement dans la table
voilà mon code d'ajout:
Private Sub btnValider_Click_1(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnValider.Click
        
'la requête d'insertion 
Form1.UtilisateurTableAdapter.Insert(Me.TextBox1.Text, Me.TextBox2.Text, Me.TextBox3.Text, Me.ComboBox1.SelectedValue, Me.TextBox5.Text, Me.TextBox6.Text, Me.TextBox7.Text)

'Actualisation de la form1       Form1.UtilisateurTableAdapter.Fill(Form1.Db_ParcInformatiqueDataSet1.Utilisateur)

        'Message de confirmation
        MsgBox("l'enregistrement a été ajouté avec succée !!!")

       'vider les champs du formulaire frmAjoutUser.vb
        For Each item As Control In Me.Controls
            If TypeOf item Is TextBox Then
                item.Text = String.Empty
            End If
        Next
    End Sub



jusqu'ici tous est bon mes données s'ajout au formulaire et je peut les visionner dans une DataGrid par exemple
mais le problème qui se pose c'est que lorsque j'ouvre la base de donnée je ne trouve aucun enregistrement et quand je ferme mon projet et je re l'ouvre je ne voie pas mes enregistrement

SVP c'est quoi mon problème je cherche depuis quelque jour mais j'ai pas trouvez de réponse
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Messages postés
2859
Date d'inscription
mardi 15 avril 2003
Dernière intervention
26 novembre 2013
17
3
Merci
Bien ta base n'est pas une base CE mais tu as du ajouter ta base depuis le menu projet de vb (Ajouter).

Bien il n'y a rien à faire car il n'y a pas de problème. C'est juste que l'explorateur de base de donnée explore la base modèle (celle du projet) plutôt que celle du projet compilé.

Tu peux donc ajouter une connexion toi même dans l'explorateur vers ta base BIN (base du projet compilé) mais celle-ci sera écrasé à chaque fois que son modèle sera changé. En cliquant sur la base dans ton projet dans ses propriétés tu peux définir "Copier dans le répertoire de sortie".

La solution pour éviter tout cela lors ce qu'on travaille sur un projet avec une base distante sous VS c'est d'utiliser SQL Server Management Studio et de créer ta base sous SQL Serveur directement. En suite il te suffit d'ajouter une nouvelle connexion au données dans ton projet en te servant d'une chaine de connexion pointant vers ton serveur.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 120 internautes nous ont dit merci ce mois-ci

Commenter la réponse de Mayzz
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
75
0
Merci
Salut

Pas un spécialiste de .Net, mais je dirai que tu remplis ton TableAdapter, en local, mais que tu ne demandes pas la réécriture des données dans la table.
Je pense que les adapter sont des images des données, mais pas les données elles-mêmes.
Regarde s'il y a une méthode .Update, .Write ou .Save, enfin un truc du genre.

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Commenter la réponse de cs_Jack
Messages postés
16
Date d'inscription
dimanche 3 décembre 2000
Dernière intervention
23 juin 2011
0
Merci
Merci Jack pour votre aide je vais voir
et j'attend l'aide des autres programmeurs qui ont déjà développer avec .net
et merci
Commenter la réponse de ultrachardo
Messages postés
2859
Date d'inscription
mardi 15 avril 2003
Dernière intervention
26 novembre 2013
17
0
Merci
Salut,

Ta base est une base locale SQL CE ? Si c'est le cas Jack vise juste. La base est copiée vers le répertoire BIN selon le modèle de la base de ton projet. Lors ce que tu consultes les données contenues dans les tables via l'explorateur de serveurs de visual studio tu consulte la base du projet et non la base dans le répertoire BIN. De plus à chaque modification de la base du projet, la base du BIN sera écrasée. Tu perdras donc les données à chaque modif.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Commenter la réponse de Mayzz
Messages postés
16
Date d'inscription
dimanche 3 décembre 2000
Dernière intervention
23 juin 2011
0
Merci
ma base de donnée est de type .mdf crée depuis Visual studio 2010

donc comment je peut résoudre de blem ???
Commenter la réponse de ultrachardo
Messages postés
16
Date d'inscription
dimanche 3 décembre 2000
Dernière intervention
23 juin 2011
0
Merci
bonsoir,

je suis de nouveau bloquer dans mon projet j'ai fait comme Mr Mayzz ma dit j'ai lier mon projet avec une base de donnée distant SQL Server 2008 et sa marche très bien j'enregistre mes Record avec succès

aujourd'hui j'ai un autre problème que j'ai pas trouvez de solution et j'aimerais bien votre aide comme dab

j'ai deux table lier entre elle Utilisateur et Ordinateur : chaque utilisateur peut posséder une ou plusieurs ordinateurs je veut crée une liste que quand je cliquer sur une bouton cette liste apparaît en filtrant sur les ordinateurs de l'utilisateur déjà positionner dans le formulaire Utilisateur

je ne sais pas est ce que j'ai bien expliquer ma problématique mais je suis là si vous voulez plus d'explication

je compte sur votre aide et merci d'avance
Commenter la réponse de ultrachardo
Messages postés
2859
Date d'inscription
mardi 15 avril 2003
Dernière intervention
26 novembre 2013
17
0
Merci
Salut,

Non tu n'as pas bien expliqué ta problématique. Tu as expliqué ce que tu voulais faire, nous on ne peut pas apprendre à ta place. Donc il faut nous dire sur quoi tu bloques plutôt que ton but à atteindre. Il n'y a que de cette façon que l'on pourra t'aider

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Commenter la réponse de Mayzz
Messages postés
16
Date d'inscription
dimanche 3 décembre 2000
Dernière intervention
23 juin 2011
0
Merci
Ok je m'explique

mon but c'est d'afficher les ordinateurs utiliser par un utilisateurs

par ex:
dans la fenêtre Utilisateur je suis positionner sur un utilisateur "A" ce dernier utiliser deux ordi PC-1 et PC-2, j'ai aussi un autre utilisateur "B" qui utilise un seul ordi PC-3

mon problème c'est quand je veut afficher les ordinateurs utiliser par "A" le formulaire liste m'affiche tous les ordinateur y compris PC-3 de l'utilisateur "B"

comment je peut filtrer dans la datagrid par le ID_Utilisateur pour ne poas afficher les autres ordinateurs

et merci pour votre aide
Commenter la réponse de ultrachardo
Messages postés
2859
Date d'inscription
mardi 15 avril 2003
Dernière intervention
26 novembre 2013
17
0
Merci
Ah! C'est déjà plus précis comme question, mais pas encore assez

Cela va dépendre de la méthode que tu utilises pour remplir ta liste, si tu utilise un BindingSource (via les assistants de VB) ou alors si tu remplis ta liste par code.

Il y a deux possibilités. La première étant de préciser dans ta requête SELECT SQL une clause WHERE te permettant de filtrer. La seconde est d'utiliser la propriété Filter du BindingSource.

Mais encore une fois je pense que tu rencontres des problèmes parce que tu ne te documente pas. En faite tu n'as pas de réel problème si ce n'est que tu ne sais pas comment atteindre tes buts. Mais tu ne peux pas venir poster et nous demander de te donner des codes sur mesure chaque fois que tu cherches à réaliser un projet ou un étape d'un projet. On ne te fournira pas de code personnalisé à chaque fois. Mon conseil serait donc de lire, lire c'est chiant certes mais c'est comme cela qu'on apprend.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
Commenter la réponse de Mayzz

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.