begin process at 2008 07 21 03:37:19
1 213 565 membres
33 nouveaux aujourd'hui
14 167 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : ajout dans base de donner [ Base de données / Access ] (sexbombrock)

ajout dans base de donner le 23/04/2008 13:43:31

sexbombrock
Bonjour

J ai un programme qui dois prendre en compte l arriver de nouveau client.
Rien de bien compliquer, un matricule qui augmente de 1 par raport aux dernier, un nom, prenom....

 j ai ajouter sur ma page en cacher un dataview, qui est racrocher a ma base de donner,
qui me permet de faire un test pour voir si le client exisite deja

le seul probleme est que je n arrive a ajouter le client a la fin.
on me precise que ma dataview est bound et donc je ne peu ajouter dedans
et je ne vois comment ajouter directement dans ma base access

pour obtenir ma base de donner je n ai pas cree de connection manuelle avec le sql
mais un simple ajout de data (l onglet en haut a cote de file et tout sa) , donc les incert ne doivent pas marcher.

merci  pour votre aide

Re : ajout dans base de donner le 23/04/2008 19:09:48

bubbathemaster
Le message d'erreur explique tout.

T'as 2 solutions:
- Ne pas travailler avec des données bounds (ce que je te conseille), en n'oubliant pas d'ajouter les rows nouvelles à la base de données
- Créer un formulaire pour ajouter un client séparé de la datagridview

Re : ajout dans base de donner le 23/04/2008 20:11:28

sexbombrock
Ok ok me revoila


j ai suprimer donc toute les datagrid qui etait inutile et je me suis amuser a chercher et a comprendre un pour l adapter a mes besoin, voici mon code:


                    DataRow ligne = module_CommercialDataSet.Tables["Client"].NewRow();
                    ligne["N°Secteur"] = num_secteur.Text;
                    ligne["N°Client"] = num_client.Text;
                    ligne["Nom_Client"] = nom_client.Text;
                    ligne["Prenom_Client"] = prenom_client.Text;
                    ligne["Rue_client"] = adr_client.Text;
                    ligne["telephone_Client"] = tel_client.Text;
                    module_CommercialDataSet.Tables["Client"].Rows.Add(ligne);

                   
Le code se lance et fonctionne tres bien sans aucun souci
et puis apres je suis aller voir ma base access et rien, aucune trace de mon enregistrement.
J ai verifier, c est bien les bon nom car sinon j ai une erreur.

Ou se trouve caché mes ajouts de client?

merci de votre aide

Re : ajout dans base de donner le 24/04/2008 01:09:59

bubbathemaster
Je vais pas t'aider beaucoup car perso je travaille "à l'ancienne", sans tous ces gadgets de datasource et autres trucs automatisés dgv<=>bdd: je fais mes requetes INSERT INTO et autres à la main. J'apprecie le controle supplémentaire que l'on a sur les objets qu'on manipule, c'est pour cela que je t'ai conseillé de ne pas travailler avec des données bounds.

Re : ajout dans base de donner le 24/04/2008 09:41:16

sexbombrock
Je connais tres bien le SQL est je comprend pourquoi a c est plus facile de faire des inserts into
mais on me demande de faire autrement, sinon trop simple la vie.

dommage que tu n ai pas le petit truc en plus qui pourais m aider
mais merci quand meme de tes conseils.

merci

Re : ajout dans base de donner le 25/04/2008 16:13:42

gabj
Ok
Si tu utilise un dataadapter ce n'est pas suffisant. Si ton DataSet (opération sur des données en mode déconnecté) module_CommercialDataSet est implémenté par ton dataadapter il faut que tu appelles la methodes Update du dataadapter, pour mettre à jour ta base de données, avec en paramètre ton DataSet :

monDataAdapter.Update(module_CommercialDataSet)
 
Si tu ajoutes,supprime ou modifie une ligne de ton dataset la mise à jour se fera automatiquement dans ta base de données (car chaque ligne à un marquage Update,Delete ou Add).

Pour de plus amples informations : [ Lien ]

JayJay974

Re : ajout dans base de donner le 25/04/2008 16:47:40

sexbombrock
je ne te comprend pas bien gabj
je suis en train d ajouter une ligne dans un dataset donc pourquoi faire un update
sinon ton lien ne marche pas

merci

Re : ajout dans base de donner le 26/04/2008 15:48:01

gabj
Ben si tu veux mettre à jour ta base de données à parti d'un DataSet tu utilises soit un DataAdapter (Framework 1.1) soit un TableAdapter (Framework 2.0).

1- Tu ajoutes ta lignes à ton DataTable encapsulé dans un DataSet.
2- Tu appelles la méthode Update de ton DataAdapter ou de ton TableAdapter.

Il faut bien que tu es à l'esprit qu'avec des DataSets tu travailles en mode déconnecté c'est à dire que tes données présentent dans ton DataSet ne sont plus en relation directe avec ta base de données. Tu dois utiliser la classe DataAdapter ou TableAdapter pour synchroniser tes données du DataSet et de ta BDD.

Par contre chez moi le lien fonctionne mais le texte est en anglais.

Voici un lien qui t'expliques le mode déconnecté d'ADO.Net :
[ Lien ]

JayJay974
MCTS .NET Framework 2.0 Web Applications

Re : ajout dans base de donner le 28/04/2008 11:07:20

sexbombrock
ok je n en peu plus en et encore a la recherche de solution
je suis parti comme cela et meme cela ne marche pas
Apres ou est charlie ou est l erreur?

//Insert           
            string connString = @"Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=Module Commercial.mdb";
            OleDbConnection conn = new OleDbConnection(connString);
            conn.Open();

            string query = "SELECT * FROM Client";

            OleDbDataAdapter adapter = new OleDbDataAdapter(query, conn);

            DataSet datas = new DataSet();

            //CommandBuilder construit les requêtes INSERT ET UPDATE à partir d'un select

            //Il faut avoir une clé obligatoirement

            OleDbCommandBuilder commandBuilder = new OleDbCommandBuilder(adapter);

            adapter.Fill(datas);

            DataRow ligne = datas.Tables[0].NewRow();           
            ligne["N°Secteur"] = num_secteur.Text;
            ligne["N°Client"] = num_client.Text;
            ligne["Nom_Client"] = nom_client.Text;
            ligne["Prenom_Client"] = prenom_client.Text;
            ligne["Rue_client"] = adr_client.Text;
            ligne["telephone_Client"] = tel_client.Text;
           
            datas.Tables[0].Rows.Add(ligne);

            adapter.Update(datas);

            conn.Close();

merci bien

Re : ajout dans base de donner le 28/04/2008 11:25:17

sexbombrock
Voila pardon pour le dernier poste je ne me prend plus la tete j ai trouver
plutot pas bien dur mais en faite en utilisant du SQL pure et bete
voici le code qui peu toujour aider l un ou l autre

string connString = @"Provider=Microsoft.Jet.OLEDB.4.0 ;Data Source=Module Commercial.mdb";
            OleDbConnection conn = new OleDbConnection(connString);
            conn.Open();

            string query = "Insert Into Client(N°Secteur, N°Client, Nom_Client, Prenom_Client, Rue_Client, telephone_Client)" +
                " Values(" + num_secteur.Text + ", " + num_client.Text + ", " + nom_client.Text + ", " + prenom_client.Text + ", " +
                adr_client.Text + ", " + tel_client.Text + ")";
            OleDbDataAdapter adapter = new OleDbDataAdapter(query, conn);
          
            conn.Close();

voila


[Page 1 Page 2]
Classé sous : base, client, ajouter, ajout, donner

Participer à cet échange

Pub



Appels d'offres

Dessins techniques
Budget : 60€
Animation Flash - Doma...
Budget : 370€
Application flash medi...
Budget : 1 000€

CalendriCode

Juillet 2008
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

VS Express FR Gratuit !

VS Express en français et 100% gratuit !

Boutique

Boutique de goodies CodeS-SourceS