begin process at 2008 05 16 05:01:25
1 173 215 membres
57 nouveaux aujourd'hui
13 970 membres club

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)

UPDATE, Dataadapter, Dataset et vb.net le 02/05/2007 15:48:31

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.



Re : UPDATE, Dataadapter, Dataset et vb.net le 02/05/2007 15:53:01

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é


Re : UPDATE, Dataadapter, Dataset et vb.net le 03/05/2007 05:27:03

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+


Re : UPDATE, Dataadapter, Dataset et vb.net le 03/05/2007 07:28:56

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.

Re : UPDATE, Dataadapter, Dataset et vb.net le 03/05/2007 11:12:44

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

Re : UPDATE, Dataadapter, Dataset et vb.net le 24/04/2008 16:34:20

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.


Classé sous : public, test, item, cnx, update

Participer à cet échange

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS