{SQL Server}

halima15 Messages postés 161 Date d'inscription   Statut Membre Dernière intervention   -  
holow1 Messages postés 739 Statut Membre -
Bonjour,je travaille en modé déconnecté et je fais des suppression, des ajouts et des modifications et je veux faire une mise à jour dans ma base de donnée SQL j'ai esayé
Dim ocb As DbCommandBuilder = dbpf.CreateCommandBuilder()
ocb.DataAdapter = oda
oda.UpdateCommand = ocb.GetUpdateCommand()
oda.DeleteCommand = ocb.GetDeleteCommand()
oda.InsertCommand = ocb.GetInsertCommand()
mais ça marche pas sachant que j'ai pas crée les commandes selectCommande,deletCommande je pense que ça marche juste pour le mode connnecté
Configuration: Windows XP
Internet Explorer 7.0

4 réponses

  1. arth Messages postés 84 Date d'inscription   Statut Contributeur Dernière intervention   1 296
     
    Mode connecté? ou déconnecté? Sur une base?

    Si tu n'est pas connecté à une base, comment veux-tu lancer des commandes sur celle-ci?
    0
  2. halima15 Messages postés 161 Date d'inscription   Statut Membre Dernière intervention   10
     
    oui c'est possible en ado.net le code que j'ai saise avant permet de créer ces commandes et les éxcuter en mode déconnecté
    0
  3. holow1 Messages postés 739 Statut Membre 71
     
    bojour,
    Quelle est la différence entre les modes connecté et déconnecté ?

    Mode connecté

    Ce mode permet à un client de se connecter à un serveur de base de données et tant que le client ne fermera pas la connexion, le serveur se souviendra de lui. Lorsque l'on désirera récupérer des informations (SELECT), on les recevra au compte-goutte, c'est-à-dire une par une.

    dans ce mode en utilise les objet suivant :

    Mode déconnecté

    Le but de ce mode est de récupérer en un bloc une portion de la base de données afin d'effectuer des traitements en local sur la machine du client. On aura donc une ouverture de connexion à la base de données, la récupération en un seul bloc du donné

    dans les 2 mode en utiles l'objet connection mais dans le mode connecter en utilises les objet suivant les datareader et les sqlcommand mais dans le mode deconncter en utilse les dataset et les dataAdapter
    0
    1. halima15 Messages postés 161 Date d'inscription   Statut Membre Dernière intervention   10
       
      je pense que tu n'a spas bien lu ma question, j'ais pas un probléme avec le mode connecté ou déconnecté, j'ai un problème avec la mise à jour qui s'effectue pas et merci pour ta réponse
      0
  4. holow1 Messages postés 739 Statut Membre 71
     
    Bonjour,

    d'abord je vais crier la base de donne 'test' + une table 'table1' + insérer 3 enregistrement ok
    
    --base de donne
    create database test
    --la table
    create table table1
    (
    IdPresonne int Primary key,
    NomPersonne varchar(40),
    PrenomPersonne varchar(40)
    )
    
    --les enregistrements
    insert into table1(IdPresonne,NomPersonne,PrenomPersonne) values('1','aa','aa')
    insert into table1(IdPresonne,NomPersonne,PrenomPersonne) values('2','bb','bb')
    insert into table1(IdPresonne,NomPersonne,PrenomPersonne) values('3','cc','cc')
    
    


    Pour le code Vb j'ai crier des procédures

    Imports System.Data.SqlClient  '  l''espace du nom
    
     Dim con As New SqlConnection("Initial Catalog=test;Data Source=. ;Integrated Security=true")
    
    
     Public Sub Ajouter(ByVal id As String, ByVal nom As String, ByVal prenom As String)
            Try
                Dim ds As New DataSet
                Dim da As SqlDataAdapter
                Dim dr As DataRow
                Dim cmd As New SqlCommandBuilder()
    
                ds.Clear()
                da = New SqlDataAdapter("select IdPresonne,NomPersonne,PrenomPersonne from table1 where IdPresonne ='" & id & "'", con)
                da.Fill(ds, "table1")
    
                If ds.Tables("table1").Rows.Count <> 0 Then
                    MsgBox("ID Personne deja exester esseyer un autre")
                    Exit Sub
                Else
                    dr = ds.Tables("table1").NewRow()
                    dr("IdPresonne") = id
                    dr("NomPersonne") = nom
                    dr("PrenomPersonne") = prenom
                    ds.Tables("table1").Rows.Add(dr)
                    cmd = New SqlCommandBuilder(da)
                    da.Update(ds.Tables("table1"))
                    MsgBox("Personne Bien ajouter")
                End If
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
    
    
     Public Sub supprimer(ByVal id As String)
            Try
                Dim ds As New DataSet
                Dim da As SqlDataAdapter
                Dim cmd As New SqlCommandBuilder()
    
                ds.Clear()
                da = New SqlDataAdapter("select IdPresonne from table1 where IdPresonne ='" & id & "'", con)
                da.Fill(ds, "table1")
    
                If ds.Tables("table1").Rows.Count = 0 Then
                    MsgBox("ID Personne Introuvable")
                    Exit Sub
                Else
                    ds.Tables("table1").Rows(0).Delete()
                    cmd = New SqlCommandBuilder(da)
                    da.Update(ds.Tables("table1"))
                    MsgBox("Personne Bien Supprimer")
                End If
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
    
    
     Public Sub modifier(ByVal id As String, ByVal nom As String, ByVal prenom As String)
            Try
                Dim ds As New DataSet
                Dim da As SqlDataAdapter
                Dim cmd As New SqlCommandBuilder()
    
                ds.Clear()
                da = New SqlDataAdapter("select IdPresonne,NomPersonne,PrenomPersonne from table1 where IdPresonne ='" & id & "'", con)
                da.Fill(ds, "table1")
    
    
                If ds.Tables("table1").Rows.Count = 0 Then
                    MsgBox("ID Personne Introuvable")
                    Exit Sub
                Else
                    ds.Tables("table1").Rows(0).Item("NomPersonne") = nom
                    ds.Tables("table1").Rows(0).Item("PrenomPersonne") = prenom
                    cmd = New SqlCommandBuilder(da)
                    da.Update(ds.Tables("table1"))
                    MsgBox("Personne Bien Modifier")
                End If
            Catch ex As Exception
                MsgBox(ex.Message)
            End Try
    


    pour le test j'ai ajouter dans mon form trois textbox(TextBox1,TextBox2,TextBox3)+trois button(Button1,Button2,Button3)

    voila le test

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Call Ajouter(TextBox1.Text, TextBox2.Text, TextBox3.Text) 'pour l'ajout
    End Sub

    Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    Call supprimer(TextBox1.Text) 'pour la supprition
    End Sub

    Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click
    Call modifier(TextBox1.Text, TextBox2.Text, TextBox3.Text) 'pour la modification
    End Sub

    Bon Chance ^_^
    0