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

C# Discussion :

Requete insert into


Sujet :

C#

  1. #1
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 239
    Par défaut Requete insert into
    Bonjour,

    Voici ma classe qui me permet de me connecter a ma base et dacceder a ma table.

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    public class MacroDB
    	{
    		private DataTable m_dt = null;
    		public static string DSTYPE = string.Empty;
     
    		public DataTable Donnees 
    		{
    			get
    			{ 
    				return m_dt;
    			}
    		}
    		public MacroDB()
    		{
    		}
     
    		public DataTable RecupererDonnees (string tsasname,string tname, string libellé, string frequence, string tname, string domaine ) 
    		{
    			DbFacade connexion = DbFacadeFactory.GetFacade (DSTYPE);
     
                            string requete1 = string.Format=("INSERT INTO cible_si4tab (Tsasname, tlib, Fr, Tname, L");
     
     
    			try 
    			{
    				DataSet ds = connexion.ExecuteDataSet (CommandType.Text, requete);
    				m_dt = ds.Tables[0];
    			}
    			catch(Exception ex) 
    			{
    				// Logger.Instance.Log (ex.Message, System.Diagnostics.TraceLevel.Error);
    				// Diagnostic.Log (EVENT_VIEWER_SOURCEID, ex);
     
    				throw ex;
    			}
     
    			return m_dt;
    		}
     
    	}
    }
    et voici mon code aspx.cs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    private void Button1_Click(object sender, System.EventArgs e)
    {
    	string tsasname = TextBox1.Text;
    	string tlib= TextBox2.Text;
    	string frequence = TextBox3.Text;
    	string tname = TextBox4.Text;
    	string chargement = TextBox5.Text;
    }
    en faite jaimerais pourvoir a laide du clik ajouter une ligne dans ma base de donnée Oracle .

    Comment faire ?

    Merci pour vos reponses

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Par défaut
    Citation Envoyé par imsse
    en faite jaimerais pourvoir a laide du clik ajouter une ligne dans ma base de donnée Oracle .
    Comment faire ?
    Comme ça, je dirais d'utiliser un objet Command :
    - construire la requête directement dans ta fonction "click" et l'envoyer à la base
    - ou alors, utiliser une commande paramétrée, qui existe en dehors de ta fonction "click", et donner aux paramètres les valeurs contenues dans tes TextBox avant d'exécuter la commande

    Cependant je remarque que tu a l'air d'utiliser une DataTable...
    Si en fait tu veux ajouter ta ligne à la DataTable puis envoyer les modifications de la table à ta base Oracle, tu peux t'intéresser aux DataAdapter.

  3. #3
    Membre Expert
    Avatar de Mehdi Feki
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 113
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 113
    Par défaut
    T'es sûr que yon code compile ?

    Qui est-ce qui a developpé la classe MacroDB ?

    Dans ton code DbFacadeFactory.GetFacade, le parametre est initialisé à empty. Il faut bien definir ton parametre selon la logique de ta factory.

  4. #4
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 239
    Par défaut
    Non mon code ne compile pas
    et ce n'est pas moi qui est ecri lalgo je reprend le travail d'une autre personne
    et lobjectif c'est davoir une classe qui permet la conenction de la table, la consultation des donnée via un datagrid, la modification des donné et linsertion des donné de ma base oracle.

    donc je ne peux aps directemnt affescté a ma page presentation (aspx) le code pour la connection de ma base.

    le probleme c'est que je me mèle un peux les pinceaux en ce qui concerne la programation de ceci.

  5. #5
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Par défaut
    Citation Envoyé par imsse
    la conenction de la table, la consultation des donnée via un datagrid, la modification des donné et linsertion des donné de ma base oracle.
    Donc DataAdapter, très certainement...
    La consultation/insertion/modification/suppression de données dans une DataTable par le biais d'un DataGridView (ou DataGrid si c'est pour une application Web) se fait sans aucun problème. Si les TextBox ne sont pas définitives, mais que tu les utilises de façon provisoire en attendant d'introduire un DataGridView, sache que tu te compliques la vie

  6. #6
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 239
    Par défaut
    Astartee

    je suis desoler mais je ne comprend pas tes explcation , c'est tres abstré pour moi. vous devais avoir l'habitude de dialoguer avec des informticien confirmer mais ce né aps le cas pour moi.
    Je ne suis pas forte en programation, et tous les terme que tu emploi je ne les comprend pas.
    Ce que tu mexplike doi suremnt convenir et etre juste mais je ne sais aps comment le traduire en code ...

  7. #7
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Par défaut
    Je te donne les noms des classes à utiliser, et il est normal que tu ne les connaisses pas si tu ne les as jamais rencontrées.

    Un DataAdapter est un objet conçu pour assurer la liaison entre une DataTable dans ton programme et une table dans une base de données - ça tombe bien, c'est ce que tu veux faire.
    Et comme j'ai supposé que tu ne connaissais pas cet objet, je t'ai donné le lien vers un tutoriel, comme ça tu n'as même pas besoin de le chercher par toi-même...

    Concernant le DataGrid(View) : tu dis que tu veux accéder à tes données via un DataGrid, cependant dans ton code on voit des TextBox... Je te signale donc qu'il sera beaucoup plus simple d'utiliser tout de suite un DataGrid(View). En effet, le lien entre les données affichées dans la grille et les données de ta DataTable est fait automatiquement, ce qui n'est évidemment pas le cas avec les TextBox.
    Pour info : un DataGridView est utilisé dans une WinForm, un DataGrid dans une WebForm, mais le principe reste le même.

  8. #8
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 239
    Par défaut
    dacord je comprend un peu mieux je te remercie !
    c'est gentil davoir aussi bien detailler !
    donc si je comprend bien je dois avoir un adaptateur pour faire le lien etre mon code et ma table.

    je pensais que ma classe macroDB le faisait ??
    en ce qui conerne mon aplli ce sont des web form que jutilise.
    et donc des datagrid qui me permet seulemnt l'affichage de mes donées .

    Moi ce que je veux faire c'est pouvoir ajouter une ligne dans ma table Oracle
    piur ce la jai creer une petite interface pour que lon saisisent les donné ke lon souhaite inserré ( dans des textebox) dou lenvie de pourvoir relier les texte box avec ma base.

    Penses tu kil serais préfreable que je recuprère les valeurs de mes texteBox ke je les metten dans un Datatable et ce databtable serais en relation avec ma base ?

    Si c'est possible comment faire car entre ma page aspx et ma classe je ne vois pas comment faire le lien et ou ecire le code .

  9. #9
    Membre émérite
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    764
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 764
    Par défaut
    et donc des datagrid qui me permet seulemnt l'affichage de mes donées
    Mea culpa En fait je n'ai jamais travaillé avec des DataGrid et donc à chaque fois que je pense que c'est "presque" comme un DataGridView je finis par dire des conneries...



    Dans les cas où l'on affiche ses données dans une grille et qu'on veut les modifier, en ajouter, etc, ce qui se fait habituellement c'est :
    - remplir une DataTable à partir de la base de données
    - afficher la DataTable
    - ajouter/modifier/supprimer des lignes dans la DataTable ; ça se fait "automatiquement" dans une DataGridView, mais apparemment pas dans un DataGrid, il faudra que tu codes ces fonctions
    - à la fin, envoyer toutes les modifications à la base de données
    Pour cela on utilise un DataAdapter, qui possède (entre autres) 2 méthodes :
    - Fill() pour remplir la DataTable
    - Update() pour envoyer les modifications de la DataTable à la base de données

    La classe macroDB ne me semble pas pouvoir faire grand chose pour l'instant :
    - je ne sais pas d'où sort la fonction GetFacade, mais en lui donnant une chaîne vide en argument je ne pense pas que la connexion créée soit valide
    - la méthode RecuperDonnees n'utilise jamais les variables données en paramètres... plus qu'étrange...
    - requete1 n'est jamais non plus utilisée, mais elle semble de toutes façons avoir peu d'intérêt
    - je ne sais d'où sort la fonction ExecuteDataSet, mais il semblerait qu'elle crée et remplisse un DataSet ; bon d'accord, mais là on utilise une variable requete qui n'a jamais été définie !
    Il s'agit manifestement d'une ébauche inachevée. Tu vas devoir tout reprendre à zéro, et cela tout simplement parce que cette classe ne contient rien d'exploitable. sauf la propriété Donnees... ok, celle-là elle est bonne... c'est bien peu !

    En revanche, si tu n'as pas su te rendre compte que cette classe ne vaut rien, c'est que tu n'y connais pas grand chose en programmation... Donc je te souhaite bien du courage.
    Commence par lire les deux tutoriaux que je t'ai donnés en lien dans mon premier message, ils te donneront une idée des outils qui existent déjà, tu pourras alors te mettre au travail. Vas-y petit à petit : d'abord connexion à la base et récupération des données, puis insertion d'un enregistrement à l'aide d'une requête codée "en dur", puis insertion à l'aide d'une requête paramétrée, puis paramétrage à l'aide des TextBox, etc...

    Et puis fais un effort lors de la rédaction de tes messages, il est très désagréable de devoir se concentrer pour te comprendre à cause de l'orthographe !

  10. #10
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    239
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 239
    Par défaut
    Très bien merci pour tes reponses. Je vais devoir me débrouiller tout seul !

Discussions similaires

  1. pd codage ASP : Pb requete insert into
    Par leclone dans le forum ASP
    Réponses: 10
    Dernier message: 19/05/2006, 18h02
  2. Probleme de requete 'Insert Into'
    Par azerty53 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 12/05/2006, 14h33
  3. Requete INSERT INTO
    Par cheers94wow dans le forum Requêtes
    Réponses: 1
    Dernier message: 10/05/2006, 11h13
  4. petite aide sur une requete INSERT INTO
    Par bonneti dans le forum Langage SQL
    Réponses: 3
    Dernier message: 14/03/2005, 15h17
  5. Erreur lors d'une requete insert into.. select
    Par Mr N. dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 04/11/2004, 17h32

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