{SQL Server}

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. Contributeur
    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
    1. 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
      1. 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. 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
      2. 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