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

Résolu
ultrachardo Messages postés 16 Date d'inscription dimanche 3 décembre 2000 Statut Membre Dernière intervention 23 juin 2011 - 19 juin 2011 à 21:38
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 - 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

9 réponses

Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
20 juin 2011 à 01:20
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.
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
20 juin 2011 à 00:03
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)
0
ultrachardo Messages postés 16 Date d'inscription dimanche 3 décembre 2000 Statut Membre Dernière intervention 23 juin 2011
20 juin 2011 à 00:44
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
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
20 juin 2011 à 00:56
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.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ultrachardo Messages postés 16 Date d'inscription dimanche 3 décembre 2000 Statut Membre Dernière intervention 23 juin 2011
20 juin 2011 à 01:00
ma base de donnée est de type .mdf crée depuis Visual studio 2010

donc comment je peut résoudre de blem ???
0
ultrachardo Messages postés 16 Date d'inscription dimanche 3 décembre 2000 Statut Membre Dernière intervention 23 juin 2011
25 juin 2011 à 23:34
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
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
25 juin 2011 à 23:56
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.
0
ultrachardo Messages postés 16 Date d'inscription dimanche 3 décembre 2000 Statut Membre Dernière intervention 23 juin 2011
26 juin 2011 à 00:22
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
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
26 juin 2011 à 00:36
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.
0
Rejoignez-nous