Dataset Update

Status
Niet open voor verdere reacties.

Spiderman

Gebruiker
Lid geworden
8 sep 2000
Berichten
866
Ik heb de volgende code.

Ik haal gegevens uit een database. Nu wil ik in tabel Product het veld Aantal aanpassen.

Als ik dit doe vanuit de datagrid (handmatig verander) en dan de
Code:
oleDBDataadpter2.Update(DsProductData1)
commando geeft, werkt het.

Nu wil ik het niet vanuit een datagrid, maar vanuit een label laten werken.


Ik heb dus de label net als de datagrid via databindings text verbonden aan DsProductData1 - Product.Aantal. Uitlezen werkt prima. Maar als ik nu door de code de label text laat veranderen en voer dan het
Code:
oleDBDataadpter2.Update(DsProductData1)
commando uit. Gebeurt er helemaal niets.

Ook als ik de updatecommand verander naar onderstaande regel gebeurt er helemaal niets.


OleDbDataAdapter2.UpdateCommand.CommandText = "UPDATE Product SET Aantal = '" & lblVoorraadStatus.Text & "' WHERE ProductID = '" & txtProductNummer.Text & "'"



Weet iemand hier een oplossing voor? :(


Alsvast bedankt.
 
Ik heb hem

De volgende regel moest erbij.

Code:
Me.BindingContext(DsProductData1, "Product").EndCurrentEdit()
:)
 
Ik heb hem

De volgende regel moest erbij.

Code:
Me.BindingContext(DsProductData1, "Product").EndCurrentEdit()
:)

hallo

ik probeer de da.update(ds) al twee weken maar lukt niet
hoe heb je het voor elkaar gekregen
hoe ziet de script er volledig uit ????

alvast bedankt.
 
De code voor dit deel is dan dus.

Code:
Me.BindingContext(DsProductData1, "Product").EndCurrentEdit() ' Deze sezzie beeindigen
OleDbDataAdapter2.Update(DsProductData1) ' De update uitvoeren

Waar gaat jou code op fout. Wat voor meldingen krijg je.

Kun je een voorbeeld inzippen en hier plaatsen?
 
De code voor dit deel is dan dus.

Code:
Me.BindingContext(DsProductData1, "Product").EndCurrentEdit() ' Deze sezzie beeindigen
OleDbDataAdapter2.Update(DsProductData1) ' De update uitvoeren

Waar gaat jou code op fout. Wat voor meldingen krijg je.

Kun je een voorbeeld inzippen en hier plaatsen?

dit is de script


dim selectstring as string
dim connection as new odbc.odbcconnectionstring
dim da as new odbc.dataadapter(selectstring, connection)
dim cmb as new commandbuilder(da)
if ds.haschanges
da.update(ds)
end if


select string is afhankelijk van de database die er gelinkt wordt
ik heb zowel de mdb van access als postgres uitgeprobeerd
geen foutmelding maar het veld verandert niet dus da.update(ds) wordt niet uitgevoerd

dus vraag ik me af hoe het bij jouw wel lukt ???
welke database gebruik je en hoe maak je de connectie ?

alvast bedankt
nojat
 
Laatst bewerkt:
Hoi nojat,

Ik zie dat je een odbc connectie gebruikt. In mijn voorbeeldje gebruikt ik een OLEDB connectie, en die werkte gewoon.

Ik ben sinds kort bezig met een webservice programma, dat via op een MYSQL server een database via odbc zou moeten aanpassen. Ook hier werkt mijn update niet.

Als ik via die webservice een MDB update, heb ik geen problemen, maar zodra ik een MYSQL wil updaten, veranderd er niets in de database.

Ik heb het vermoeden dat het aan de commandbuilder ligt. Maar heb nog geen tijd gehad om hier echt diep in te duiken.

Als ik een oplossing vindt dan zal ik deze hier plaatsen, wil jij dat ook doen?
 
Hoi nojat,

Ik zie dat je een odbc connectie gebruikt. In mijn voorbeeldje gebruikt ik een OLEDB connectie, en die werkte gewoon.

Ik ben sinds kort bezig met een webservice programma, dat via op een MYSQL server een database via odbc zou moeten aanpassen. Ook hier werkt mijn update niet.

Als ik via die webservice een MDB update, heb ik geen problemen, maar zodra ik een MYSQL wil updaten, veranderd er niets in de database.

Ik heb het vermoeden dat het aan de commandbuilder ligt. Maar heb nog geen tijd gehad om hier echt diep in te duiken.

Als ik een oplossing vindt dan zal ik deze hier plaatsen, wil jij dat ook doen?

afgesproken want dit is echt een probleem
 
afgesproken want dit is echt een probleem

hallo spiderman

ik heb een oledb verbinding gemaakt met een mdb maar die werkt ook niet
ben ik iets vergeten bij de script ???

dim selectstring as string
dim connection as new oledb.oledbconnectionstring
dim da as new oledb.dataadapter(selectstring, connection)
dim cmb as new oledb.commandbuilder(da)
if ds.haschanges
da.update(ds)
end if

Nojat
 
werkt nog steeds niet met oledb

hallo spiderman

ik heb een oledb verbinding gemaakt met een mdb maar die werkt ook niet
ben ik iets vergeten bij de script ???

dim selectstring as string
Dim adapter As New OleDb.OleDbDataAdapter()
dim connection as new oledb.oledbconnectionstring
dim da as new oledb.dataadapter(selectstring, connection)
dim cmb as new oledb.commandbuilder(da)
adapter.UpdateCommand.CommandText = "UPDATE Product SET naam = 'pieter' WHERE antwoord = 'ja'"
da.update(ds)

kun je se script voor mij herstellen dat het werkt ?
alvast bedankt

Nojat
 
Om een commandbuilder te gebruiken moet je het onderstaande erbij zetten

Code:
Dim cmb as new oledb.commandbuilder(da)
da.InsertCommand = cmdBuilder.GetInsertCommand ' Als INSERT commando
da.DeleteCommand = cmdBuilder.GetDeleteCommand ' Als DELETE commando
da.UpdateCommand = cmdBuilder.GetUpdateCommand ' Als UPDATE commando

Of als je het zonder commandbuilder wilt doen en met een SQL statment zoals
adapter.UpdateCommand.CommandText = "UPDATE Product SET naam = 'pieter' WHERE antwoord = 'ja'"
da.update(ds)

is adapter fout als je vervolgens da gaat updaten.

Wat je wilt is dan:
Code:
[COLOR="SeaGreen"]da[/COLOR].UpdateCommand.CommandText = "UPDATE Product SET naam = 'pieter' WHERE antwoord = 'ja'"
[COLOR="seagreen"]da[/COLOR].update(ds)
 
He bedankt zeg het werkt

Nojat



Om een commandbuilder te gebruiken moet je het onderstaande erbij zetten

Code:
Dim cmb as new oledb.commandbuilder(da)
da.InsertCommand = cmdBuilder.GetInsertCommand ' Als INSERT commando
da.DeleteCommand = cmdBuilder.GetDeleteCommand ' Als DELETE commando
da.UpdateCommand = cmdBuilder.GetUpdateCommand ' Als UPDATE commando

Of als je het zonder commandbuilder wilt doen en met een SQL statment zoals


is adapter fout als je vervolgens da gaat updaten.

Wat je wilt is dan:
Code:
[COLOR="SeaGreen"]da[/COLOR].UpdateCommand.CommandText = "UPDATE Product SET naam = 'pieter' WHERE antwoord = 'ja'"
[COLOR="seagreen"]da[/COLOR].update(ds)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan