{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. 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
    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. 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. 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