Cannot update Access Database

  • Thread starter C a r l o s A n t o n i o
  • Start date
C

C a r l o s A n t o n i o

Sorry for the x-posting. It's just I'm not sure which group this post is
related to.

Well, I have an Access 2007 database (also tried with Access 2003 with no
success) and I am creating an application for my programming class (which is
due this week) using VB2008. I am using Typed Datasets. The thing is that
I cannot do a simple thing as updating a record. I do not get error
messages either. I will post the code, if anyone could help me, I will be
very grateful.

Thanks a lot for your help.

Private Sub update_new_user_password()
Try


'Connection String in My.Settings:
'Provider=Microsoft.ACE.OLEDB.12.0;Data
Source="|DataDirectory|\DAL\Databases\v2 communications.accdb";Persist
Security Info=True

Dim ta As New
v2_communicationsDataSetTableAdapters.V2DataLoginTableAdapter
Dim dt As v2_communicationsDataSet.V2DataLoginDataTable
Dim row As v2_communicationsDataSet.V2DataLoginRow

dt = ta.GetData

row = dt.FindByUserNameID(str_username.Trim)
With row
.BeginEdit()
Debug.Print(.UserNameID & ", " & .Password)
.Password = texnewpassword.Text
Debug.Print(.UserNameID & ", " & .Password)
.EndEdit()
End With

ta.Update(dt)

Catch ex As Exception
MessageBox.Show(ex.Message, Application.ProductName,
MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
End Try

End Sub
 
C

Cor Ligthert[MVP]

Carlos,

I don't see new, deleted or changed data.

Or I should misinterpret the method dt.GetData

Cor
 
C

C a r l o s A n t o n i o

It is a Typed Dataset. That's why you do not see the SELECT statement in
the code (if that's is what you mean). I get to the desired row by "row =
dt.FindByUserNameID(str_username.Trim)" line and the lines "
Debug.Print(.UserNameID & ", " & .Password) " correctly print the old and
new values respectively. So I get it to make the changes in the DataRow.
But, I do not know why, changes are no reflected in the database and, as I
stated before, I do not get error messages either.

Thanks a lot,

Carlos
 
C

Cor Ligthert[MVP]

Carlos

To update you have to change something.

A dataadapter does not affect non changed rows.

Cor
 
A

Armin Zingler

Cor said:
Carlos

To update you have to change something.

Isn't this the change?

With row
'...
.Password = texnewpassword.Text
'...
end with


Armin
 
C

Cor Ligthert[MVP]

Carlos,

Sorry, I completely overlooked that.

Can you change it to this to narrow your code and try this, I don't really
not see anything

Row.Password = "Whatever"

That BeginEdit and EndEdit are for a databinded control, I assume that you
did not do that, otherwise we know probably the problem.

Cor
 
C

C a r l o s A n t o n i o

Changed the line to [.Password = "whatever"] with same results. Also,
eliminated BeginEdit and EndEdit methods and still not working.
:-S
 
A

Armin Zingler

C said:
Changed the line to [.Password = "whatever"] with same results. Also,
eliminated BeginEdit and EndEdit methods and still not working.
:-S

What is row.rowstate directly after assigning the value?
What is the rowstate after executing ta.update?

If ta.update is a function, what is the return value?


Armin
 
C

C a r l o s A n t o n i o

Hello all,

Thank you very much for your answers. After a some sleepless nights dealing
with the problem, i noticed that the database was included in the project.
Whenever i executed the code, VS copied the database into the BIN folder and
doing its changes in the copy of the database, not the original.

In the database properties, i set it to "Copy if Newer". That way i could
open the copy of the DB in the BIN filder and could verify the changes in
it.

Thank you very much for your help, guys.


Carlos



Armin Zingler said:
C said:
Changed the line to [.Password = "whatever"] with same results. Also,
eliminated BeginEdit and EndEdit methods and still not working.
:-S

What is row.rowstate directly after assigning the value?
What is the rowstate after executing ta.update?

If ta.update is a function, what is the return value?


Armin
 
A

Armin Zingler

C said:
Hello all,

Thank you very much for your answers. After a some sleepless nights
dealing with the problem, i noticed that the database was included in
the project. Whenever i executed the code, VS copied the database
into the BIN folder and doing its changes in the copy of the
database, not the original.

In the database properties, i set it to "Copy if Newer". That way i
could open the copy of the DB in the BIN filder and could verify the
changes in it.

Thank you very much for your help, guys.

Thanks for letting us know.


Armin
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top