Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : UPDATE, Dataadapter, Dataset et vb.net [ Base de données / ADO.NET ] (daemangel)

mercredi 2 mai 2007 à 15:48:31 | UPDATE, Dataadapter, Dataset et vb.net

daemangel

Bonjour à tous, je suis encore débutant dans vb.net et tout le tremblement mais je bloque sur un problème qui pourrais vous paraître simple.
Je cherche à effectuer un update sur une table Access, mais je n'y arrive pas.
Si ça peut aider voilà mon code:
-------------------------------------------------------------------------------------------------------
    Public cnx As OleDbConnection
    Public cmd As New OleDbCommand
    Public ds As New DataSet("tab1")
    Public da As New OleDbDataAdapter("select * from tab1", cnx)
    Public dt As DataTable
    Public i as Integer

conn = "provider = microsoft.jet.oledb.4.0 ; data source = c:\mabase.mdb;"
cnx = New OleDbConnection
cnx.ConnectionString = conn
cnx.Open()


        da.Fill(ds, "Cimetiere")
        dt = ds.Tables("Cimetiere")
        For i = 0 To stockdata.Count - 1

    'Msgbox pour vérifier si ma requête est correcte
            MsgBox("UPDATE Cimetiere set " & Mid(test, 1, InStr(test, ". ") - 1) & "=" & """" & stockdata.Item(i) & """" & _
" Where " & primkey_name & "=" & """" & stockprimkey.Item(i) & """" & ";")

    'Mid(test, 1, InStr(test, ". ") - 1) -->Ca représente le nom du champ à modifier
    'stockdata.Item(i) --> Ca représente la valeur d'un arraylist à mettre dans le champ
    'primkey_name -->C'est ma variable qui contient le nom de la clé primaire
    'stockprimkey.Item(i) --> Ca représente la valeur d'un arraylist à mettre de la clé primaire

            cmd = New OleDbCommand("UPDATE tab1 set " & Mid(test, 1, InStr(test, ". ") - 1) & "=" & """" & stockdata.Item(i) & """" & " Where " & primkey_name & "=" & """" & stockprimkey.Item(i) & """" & ";", cnx)
            da.UpdateCommand = cmd
            da.Update(ds)
        Next
-------------------------------------------------------------------------------------------------------
Voilà si vous avez des questions hésitez pas et si vous avez des réponses hésitez encore moins.
Merci d'avance.



mercredi 2 mai 2007 à 15:53:01 | Re : UPDATE, Dataadapter, Dataset et vb.net

daemangel

Je viens de me rendre compte d'erreur de copie dans mon poste original:
da.Fill(ds, "tab1")
        dt = ds.Tables("tab1")
        For i = 0 To stockdata.Count - 1

    'Msgbox pour vérifier si ma requête est correcte
            MsgBox("UPDATE tab1 set " & Mid(test, 1, InStr(test, ". ") - 1) & "=" & """" & stockdata.Item(i) & """" & _
" Where " & primkey_name & "=" & """" & stockprimkey.Item(i) & """" & ";")

voilà qui est corrigé


jeudi 3 mai 2007 à 05:27:03 | Re : UPDATE, Dataadapter, Dataset et vb.net

ptit_tof57

Membre Club
Salut je ne suis pas une pro du tout mais dans le peu de code que j'ai pu étudié il y avait une variable qui représenté un BindingSource
sur laquel on effectué l'instruction suivante  "BindingSource".EndEdit avant de faire un update de la table vers la base de donnée.

Sur les exemples de code généré automatiquement par visual studio voici ce que j'obtient en cliquant sur le bouton enregistré :

       Me.Validate()
        Me.BindingSource.EndEdit()
        Me.TableAdapter.Update(DataSet.Table)

J'espere au moins t'avoir mis sur une piste.
A+


jeudi 3 mai 2007 à 07:28:56 | Re : UPDATE, Dataadapter, Dataset et vb.net

daemangel

Merci ptit_tof57, je viens de regarder ce que tu m'as donné, mais j'ai fortement l'impression qu'il s'agit de vérifier les contrôles d'une page, alors que mon traitement est automatisé et va chercher les infos dans un fichier texte. mais je vais creuser un peu plus loin pour voir si ça va pas me mener vers ce que je cherche.

jeudi 3 mai 2007 à 11:12:44 | Re : UPDATE, Dataadapter, Dataset et vb.net

daemangel

Réponse acceptée !
J'ai trouvé la solution, à la place de :
da.Update(ds)

J'ai mis :
da.UpdateCommand.ExecuteNonQuery()

Et ça marche

jeudi 24 avril 2008 à 16:34:20 | Re : UPDATE, Dataadapter, Dataset et vb.net

l0r3nz1

1 an aprés...

OK, mais quand on créé son dataAdapter et son dataset ( pour ensuite eventuellement profiter de toutes les options de dataTable et dataRow)

pour ma part j'utilise seulement le dataset:
        dst.AcceptChanges()
        dst.Tables(0).Rows(5).Item(1) = "mmm"

puis
        Try
            dad.Update(dst, table) 'Update requiert un UpdateCommand valide lors du passage de la collection DataRow avec des lignes modifiées.
        Catch ex As Exception
        End Try

ou recupérer les infos dans un tableau >dst.Tables(0).Rows(1).ItemArray)<

dans ce cas je ne vais surement pas utiliser une commande update complexe! et comme on m'oblige à utiliser vb2005 en ce moment il faut que je m'y fasse.

Alors si quelqu'un pouvait m'expliquer svp de maniere à ce que je ne regrette pas trop VBA et ACCESS beaucoup plus souple que vb2005 et sql server.

merci d'avance.



Cette discussion est classé dans : public, test, item, cnx, update


Répondre à ce message

Sujets en rapport avec ce message

Substition d'un raccourci par une ligne de code (un mini include-like quoi) [ par celiphane ] Salut,j'aurai besoin d'un tuyau, assez extravagant sans doute :qq'1 saurait-il me dire comment faire dans une procédure VB6 une espèce de "include". H Probleme Update DataGrid [ par qwiskas ] Bonjour à tous, Mon problème vient lors de l'update de ma dataGrid. Je lie mon dataGrid à ma dataTable comme ceci : Ici je set mon dataTable à sortir d'un fonction VBA [ par segumat ] Bonjour,J'ai crée un userform avec 2 boutons, le premier lance une fonction (test dans l'exemple ci dessous), et je voudrais que le second me sorte de Petit soucis d'imbrication de ArrayList [ par rbidocho ] Bonjour,Voilà, je suis en train de créer une classe qui me servira à passer des tableaux entre plusieurs form. Comme apparemment (si j'ai bien cherché Récup d'un nombre décimal sans le point [ par val9000 ] Bonjour,Je récupére les données venant d'un fichier csv et j'ai un problème en ce qui concerne la récupération de chiffres avec décimal séparés par un probleme d'execution [ par mamiyaf81 ] voila ma fonction qui verifier l'existence de ma table:Public Function ExisteTableDAO(NomTable As String) As Boolean' Déterminer l'existence d'une tab update impossible à le faire marcher... [ par shaka38 ] voila j'ai une table "test", je voudrais modifier une donner, mais impossible...le code actuel : Private Sub Command1_Click()Set db = OpenDatabase("bd ListView en Mode Virtuel et ImageKey d'un ImageList [ par archimed111 ] Bonjour J'ai un petit probléme je n'arrive pas a faire fonctionner quelque chose qui pourtant le devrait. J'ai fait une application de test juste pou VB.Net - Update d'un DataSet [ par cboulas ] Salut, voilà j'ai un petit soucis qui ne m'est jamais arrivé, sauf en ayant fait une erreur. j'ai une base Access, celle-ci s'ouvre bien, le select se ajouter un user et pass a la connect [ par scromania ] bonjour j'aimerais utilisé le petit bout de code qu'un ami ma fournis mes ma bdd et proteger pas mdp. voici le code: Public cnx As New ADODB.Connec


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,406 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.