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

VB.NET Discussion :

[debutant]inserer des données dans une table


Sujet :

VB.NET

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Points : 37
    Points
    37
    Par défaut [debutant]inserer des données dans une table
    bonjour,
    voila il faut que j'insere des données dan une table Tombee après les avoir recupérée d'une autre Table Historique_courriers et voila le debut de mon code
    je sais que j'ai plusieurs erreurs c'est pour ca que je vous demande de m'aider
    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
    Option Explicit On
    Imports System.Data.SqlClient
    Imports Microsoft.VisualBasic
    Imports System
    Imports System.Text
    Imports System.CodeDom.Compiler
    Imports System.Reflection
    Imports System.Data
    Imports Oracle.DataAccess.Client
    Imports Oracle.DataAccess.Types
    Module CodeFile1
        Function Tombee(ByVal imodule As String) As DataTable
            Dim connectionSQL As New SqlConnection
            Dim conn As New OracleConnection
            Dim TableTombee As SqlDataAdapter()
     
            connectionSQL.Open()
            TableTombee = "Tombee"
     
            TableTombee.insert("insert into Tombee(CODCLI,NUMCRE,NUMTIR)  SELECT CODCLI,NUMCRED,NUMTIR from HISTORIQUES_COURRIERS")
            executeRequete("SELECT ECHGLOB*1 ,AMORTISS*1 ,INTERETS*1 as ECHOGLOB ,AMORTISST ,INTERET from HISTOIQUES_COURRIERS where TOMBEE.CODCLI=HISTORIQUES_COURRIERS.CODCLI")
            connectionSQL.Close()
    ........
    merci de votre aide

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    189
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 189
    Points : 87
    Points
    87
    Par défaut
    Je suis pas un pro, mais a mon avis tu devrais utiliser deux objet commande auxquels tu attribut tes requêtes.

    Le premier s'occupera du select et le deuxieme de l'insert, et il suffira de passer les paramètres du premier au deuxieme dans ton code si cela est possible directement, je ne l'ai jamais fait

    pour la déclaration d 'un objet commande :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Dim command As SqlCommand = New SqlCommand("Insert ...)

    mais je pense que d'autres pourront confirmer ou infirmer mes dires

    bon courage

    @++
    dubidon
    "Un jour j'y arriverais tout seul, si si je vous le jure "

  3. #3
    Rédacteur
    Avatar de SaumonAgile
    Homme Profil pro
    Team leader
    Inscrit en
    Avril 2007
    Messages
    4 028
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Team leader
    Secteur : Conseil

    Informations forums :
    Inscription : Avril 2007
    Messages : 4 028
    Points : 6 334
    Points
    6 334
    Par défaut
    Citation Envoyé par dubidon
    mais je pense que d'autres pourront confirmer ou infirmer mes dires
    +1
    Besoin d'un MessageBox amélioré ? InformationBox pour .NET 1.1, 2.0, 3.0, 3.5, 4.0 sous license Apache 2.0.

    Bonnes pratiques pour les accès aux données
    Débogage efficace en .NET
    LINQ to Objects : l'envers du décor

    Mon profil LinkedIn - MCT - MCPD WinForms - MCTS Applications Distribuées - MCTS WCF - MCTS WCF 4.0 - MCTS SQL Server 2008, Database Development - Mon blog - Twitter

  4. #4
    Membre chevronné
    Avatar de olsimare
    Inscrit en
    Décembre 2006
    Messages
    1 179
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 179
    Points : 1 776
    Points
    1 776
    Par défaut
    Bonjour.

    A mon avis, tu devrais commencer par le commencement...

    Du genre passer 10 minutes sur les tutoriels, tu gagnerais du temps et je pense et tu devrais trouver ce qu'il te faut assez facilement.

    Cdt.
    Bon à savoir : la touche F1 ne sert pas à commander des places pour le grand prix de Belgique.

  5. #5
    Expert confirmé
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Points : 4 388
    Points
    4 388
    Par défaut
    Pour inserer des données dans une table y'a 10 000 codes deja sur le net qui te l'explique... et plein sur DVP. Il suffit d'utiliser la commande SQL suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    'syntaxe de la command insert
    INSERT INTO Nom_De_Ta_Table (Champ1, Champ 2, .... Champ n) VALUES (Valeur1, Valeur2, ... Valeur n)
    Cdl
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Points : 37
    Points
    37
    Par défaut
    esque ce code est meilleur:
    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
    Module CodeFile1
        Function TaTombee(ByVal Historiques_Courriers As String, ByVal EVENEMNT As String) As DataTable
     
            Dim connectionSQL As New SqlConnection
            Dim Mycommand As SqlCommand
            Dim maRequeteSql As String
            Dim conn As New OracleConnection
            Dim maRequeteOracle As String
            Dim TOMBEE As New SqlDataAdapter()
     
     
            Mycommand = New SqlCommand("delete from TOMBEE,insert into TOMBEE(CODCLI,NUMCRE,NUMTIR)  SELECT CODCLI,NUMCRED,NUMTIR from HISTORIQUES_COURRIERS")
            maRequeteSql = "SELECT ECHGLOB*1 ,AMORTISS*1 ,INTERETS*1 as ECHOGLOB ,AMORTISST ,INTERET from HISTOIQUES_COURRIERS where TOMBEE.CODCLI=HISTORIQUES_COURRIERS.CODCLI"
            Mycommand = New SqlCommand(maRequeteSql)
     
     
            Dim cmd As New OracleCommand
            cmd.Connection = conn
            cmd.CommandType = CommandType.Text
            cmd.CommandText = "insert into TOMBEE(CODCLI,NUMCRE) select EVENT_CLIENT,EVENT_CREDIT from EVENEMNT"
            maRequeteOracle = "select EVENMT_MONTANT*-1 as EVENMT_MONTANT from EVENEMNT where EVENEMNT.EVENMT_CLIENT= TOMBEE.EVENMT_CLIENT"
    normalment le but c'est de rassembler des colonnes d'un tabaleau HISTORIQUES_COURRIERS qui est dans une base SQL et d'autres colonnes d'un tableau EVENEMNT qui est lui dans une base oracle et ensuite comprarer des données ,je n'ai pas encore fini le code mais je voulais savoir si jete sur le bon chemin merci de votre aide

  7. #7
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Points : 37
    Points
    37
    Par défaut
    s'il vous plait juste un petit coup de main c'est important et urgent.merci

  8. #8
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Points : 37
    Points
    37
    Par défaut
    bonjour c'est encore moi:voila j'ai fini le programme et bien sur comme il est cerit sur le topic je suis debutant voila mon code:
    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
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    Imports System.Data.SqlClient
    Imports Microsoft.VisualBasic
    Imports System
    Imports System.Text
    Imports System.CodeDom.Compiler
    Imports System.Reflection
    Imports System.Data
    Imports Oracle.DataAccess.Client
    Imports Oracle.DataAccess.Types
    Module CodeFile1
        Function TaTombee(ByVal Historiques_Courriers As String, ByVal EVENEMNT As String) As DataTable
     
            Dim connectionSQL As New SqlConnection
            Dim Mycommand As SqlCommand
            Dim maRequeteSql As String
            Dim conn As New OracleConnection
            Dim maRequeteOracle As String
            Dim TOMBEE As New SqlDataAdapter()
     
     
            connectionSQL.Open()
            Mycommand = New SqlCommand("delete from TOMBEE,insert into TOMBEE(CODCLI,NUMCRE,NUMTIR)  SELECT CODCLI,NUMCRED,NUMTIR from HISTORIQUES_COURRIERS")
            maRequeteSql = "SELECT ECHGLOB * 1 ,AMORTISS * 1 ,INTERETS * 1 as ECHOGLOB ,AMORTISST ,INTERET from HISTOIQUES_COURRIERS where TOMBEE.CODCLI=HISTORIQUES_COURRIERS.CODCLI"
            Mycommand = New SqlCommand(maRequeteSql)
            connectionSQL.Close()
     
     
            Dim cmd As New OracleCommand
            conn.Open()
            cmd.Connection = conn
            cmd.CommandType = CommandType.Text
            cmd.CommandText = "insert into TOMBEE(CODCLI,NUMCRE) select EVENT_CLIENT,EVENT_CREDIT from EVENEMNT"
            maRequeteOracle = "select EVENMT_MONTANT * -1 as EVENMT_MONTANT from EVENEMNT where EVENEMNT.EVENMT_CLIENT= TOMBEE.EVENMT_CLIENT"
            Mycommand = New SqlCommand(maRequeteOracle)
            conn.Close()
     
            Dim SOMME As New DataColumn()
            SOMME.ColumnName = "SOMM"
            SOMME.DataType = GetType(Double)
            SOMME.Expression = "select sum (ECHGLOB + EVENMT_MONTANT) as SOMM from TOMBEE where TOMBEE.CODCLI=TOMBEE.EVENMT_CLIENT "
     
     
            Dim sum As Double
            sum = "select SOMM from TOMBEE"
            If sum <> 0 Then
                Console.WriteLine("il ya un ecart")
     
            Else
                Console.WriteLine("il n'ya pas d'ecart")
            End If
     
        End Function
    End Module
    je voulais sa coir eske pour vous ki etes certainement plus fort,ce code peut marcher,en gros je voudrais savoir ce ke vous en pensez.

  9. #9
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Points : 14
    Points
    14
    Par défaut
    Excuse moi mas j'ai lue ton code j'ai trouver une command qui permet de executer les requete que tu ecris alors je te conseil de faire
    comme tu as etuliser
    Dim TOMBEE As New SqlDataAdapter()pourquoi tu l'a pas etuliser
    a mon avis il te foudra que tu fais
    TOMBEE = New SqlDataAdapter(mycommand)
    mais si tu veux faire ces requette direct dans la base de donne il te faut faire
    cmd.executenonquery()

    c'est ça mon point de vue alors essaie tu veras ça et choisi se que tu veux

  10. #10
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Points : 37
    Points
    37
    Par défaut
    le probleme c'est kan je mets:
    TOMBEE = New SqlDataAdapter(mycommand)
    il me met kil y'a une erreur et kil faut ke je declare TOMBEE alors que TOMBEE est une table qui existe deja dans ma base de donnée.

  11. #11
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Points : 14
    Points
    14
    Par défaut
    si tu veux faire comme ça il faut que tu enleve le new du premier instruction et le mettre comme tu as fait dernierment

  12. #12
    Nouveau membre du Club
    Inscrit en
    Mai 2007
    Messages
    122
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 122
    Points : 37
    Points
    37
    Par défaut
    kan j'enleve le new,il me dit ke j'utilise pas la variable TOMBEE alors ke je l'utlise dans mes requete SQl comme c'est ecrit dans le code;je sais pas koi faire.

  13. #13
    Membre à l'essai
    Inscrit en
    Mai 2007
    Messages
    14
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 14
    Points : 14
    Points
    14
    Par défaut
    Excuse moi mais se que tu utilise dans les requete sql avec les crocher vb ne peut le connaite parce qu'il prend tous la requete comme une chaine de caractere qui se situe toujours entre "chaine de caractere" tu comprend mnt se que e veux dire de ça.

  14. #14
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 257
    Points : 57
    Points
    57
    Par défaut
    Voici un exemple d'ajout de données dans une 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
    42
    43
    44
    45
    46
    47
    48
    49
     
    Imports System.Data.OleDb
    Imports System.Data
    Imports System.Data.OleDb.OleDbType
     
    Public Class Frmajoutab
        Public sql As String
     
        Private Sub Btnvalider_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btnvalider.Click
            Dim cn As New OleDb.OleDbConnection
            Dim command As OleDbCommand = New OleDbCommand("insert into Abonnement (Num_abonnement, Lib_abonnement, Date_debut_ab, Date_fin_ab, Montant_ab, Num_frs, Nom_frs) values (@numab, @libab, @Dates, @Datef, @montantab, @numfrs, @Cbxfrs) ")
     
            If Txtnumab.Text = "" Or Txtlibab.Text = "" Or Txtmontantab.Text = "" Or Txtnumfrs.Text = "" Then
                MsgBox("Vous devez saisir des valeurs non nulles.", MsgBoxStyle.Critical + MsgBoxStyle.OkOnly)
                Exit Sub
            End If
            sql = "select count * from Abonnement where Num_abonnement ='" & Txtnumab.Text & "'"
            command.Parameters.Add(New OleDbParameter("@numab", OleDbType.Char, 50))
            command.Parameters("@numab").Value = Txtnumab.Text
            command.Parameters.Add(New OleDbParameter("@libab", OleDbType.Char, 255))
            command.Parameters("@libab").Value = Txtlibab.Text
            command.Parameters.Add(New OleDbParameter("@dates", OleDbType.Date))
            command.Parameters("@dates").Value = CType(Dates.Text, Date)
            command.Parameters.Add(New OleDbParameter("@datef", OleDbType.Date))
            command.Parameters("@datef").Value = CType(Datef.Text, Date)
            command.Parameters.Add(New OleDbParameter("@montantab", OleDbType.Decimal, 15))
            command.Parameters("@montantab").Value = MonFormat(Txtmontantab.Text, 3)
            command.Parameters.Add(New OleDbParameter("@numfrs", OleDbType.Integer, 10))
            command.Parameters("@numfrs").Value = CInt(Txtnumfrs.Text)
            command.Parameters.Add(New OleDbParameter("@cbxfrs", OleDbType.Char, 50))
            command.Parameters("@cbxfrs").Value = Cbxfrs.Text
     
            Try
                cn.ConnectionString = "Provider = Microsoft.Jet.OLEDB.4.0; Data Source=C:\Documents and Settings\Administrateur.STANDARD\Mes documents\Projet Budget\Budget\Budget\Marches.mdb"
                cn.Open()
                command.Connection = cn
                command.ExecuteNonQuery()
                MsgBox("Votre opération a été effectuée avec succès.", MsgBoxStyle.Information + MsgBoxStyle.OkOnly)
            Catch ex As Exception
                MsgBox("Le numéro d'abonnement existe déjà")
            Finally
                If Not (cn Is Nothing) Then
                    cn.Close()
                End If
            End Try
            Me.Dispose()
            Frmprincipale.Show()
        End Sub
    End Class
    j'espère que ca t'aidera

  15. #15
    Membre habitué
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    216
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2007
    Messages : 216
    Points : 154
    Points
    154
    Par défaut Merci


    Je te remercie beaucoup pour ton bout de code. Enfin des consignes claires et limpides!!!
    Paul Van Walleghem

  16. #16
    Membre du Club
    Inscrit en
    Mai 2007
    Messages
    257
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 257
    Points : 57
    Points
    57
    Par défaut
    A votre service

Discussions similaires

  1. Réponses: 13
    Dernier message: 26/04/2011, 09h10
  2. Inserer des données dans une table
    Par csilas dans le forum C#
    Réponses: 9
    Dernier message: 12/11/2009, 16h07
  3. [PDO] Inserer des données dans une table
    Par Dj_xXx dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 05/10/2008, 16h28
  4. [XI] Inserer des données dans une Table depuis CRXI
    Par jouberts dans le forum SAP Crystal Reports
    Réponses: 5
    Dernier message: 10/07/2007, 09h21
  5. Inserer des données dans une table access SQL
    Par ouellet5 dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 23/11/2005, 21h11

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