DaniWeb IT Discussion Community

DaniWeb IT Discussion Community (http://www.daniweb.com/forums/index.php)
-   Visual Basic 4 / 5 / 6 (http://www.daniweb.com/forums/forum4.html)
-   -   Save Record - keeps updating with 1st records data (http://www.daniweb.com/forums/thread131172.html)

Loony064 Jun 25th, 2008 7:56 pm
Save Record - keeps updating with 1st records data
 
Hey guys!

I figured it might be easier to have my various questions in separate posts, to avoid confusion.

My next problem is that with two of my tables (Hours Worked and Occupations) when i want to save the records, it places the correct values (taken from text boxes on the form) and sets the recordset to those values, but then for some strange reason, it uses the data from the first record in the table to update the record.

i.e. Record 1 = employee id: 001 name: "Donald"
Record 2 = employee id: 002 name: "Sammy"
new name for record 2 = "Sam"
thus Record 2 should = employee id: 002 name: Sam
but something in my code causes it to become
employee id:002 name: Donald

here is the code for the hours worked save button
Private Sub CmdSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdSave.Click
' button to save record
' fill table adapter with records
Employee_Hours_Worked_TableTableAdapter.Fill(PayrollDatabaseDataSet.Employee_Hours_Worked_Table)
Dim confirm As Integer
' variable to store records
Dim row As payrollDatabaseDataSet.Employee_Hours_Worked_TableRow
row = PayrollDatabaseDataSet.Employee_Hours_Worked_Table.Rows(current_row)
' user must confirm update
confirm = MsgBox("Are you sure you want to alter this record", 1 + 48, "Please Confirm")
If confirm = 1 Then
' fill variables
row.Hours_Worked_Normal = Hours_Worked_NormalTextBox.Text
row.Hours_Worked_Overtime_1 = Hours_Worked_Overtime_1TextBox.Text
row.Hours_Worked_Overtime_1andhalf = Hours_Worked_Overtime_1andhalfTextBox.Text
row.Hours_worked_overtime_2 = Hours_worked_overtime_2TextBox.Text
' update record
Employee_Hours_Worked_TableTableAdapter.UpdateQueryHoursWorked(row.Hours_Worked_Normal, row.Hours_Worked_Overtime_1, row.Hours_Worked_Overtime_1andhalf, row.Hours_worked_overtime_2, row.Employee_ID)
Else : MsgBox("Action Cancelled!")
End If
' show first record
current_row = 0
ShowCurrentRecord()

The query that updates the hours worked is as follows:
UPDATE    Employee_Hours_Worked_Table
SET              Hours_Worked_Normal = ?, Hours_Worked_Overtime_1 = ?, Hours_Worked_Overtime_1andhalf = ?, Hours_worked_overtime_2 = ?
WHERE    (Employee_ID = ?)

And then i'm also getting an error: Column 'Employee_ID' is constrained to be unique. Value '12' is already present, but i'm not (or at least i'm not intending to change the employee_id. i just want to change the number of hours worked where the employee_id is the same as the employee_id in my current row)

These errors have stumped me. Maybe its the lack of sleep or possibly my lack of knowledge, but i'd really, really appreciate some help since i have to get this program finished by next week

Thanks for taking the time to read my post
Laura

esspeter Nov 3rd, 2009 1:47 pm
OMG did you ever get this resolved.
 
I am experiencing the same problem w/ vb6 sql server 2005 as data engine

Help PLEASE


Quote:

Originally Posted by Loony064 (Post 634709)
Hey guys!

I figured it might be easier to have my various questions in separate posts, to avoid confusion.

My next problem is that with two of my tables (Hours Worked and Occupations) when i want to save the records, it places the correct values (taken from text boxes on the form) and sets the recordset to those values, but then for some strange reason, it uses the data from the first record in the table to update the record.

i.e. Record 1 = employee id: 001 name: "Donald"
Record 2 = employee id: 002 name: "Sammy"
new name for record 2 = "Sam"
thus Record 2 should = employee id: 002 name: Sam
but something in my code causes it to become
employee id:002 name: Donald

here is the code for the hours worked save button
Private Sub CmdSave_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdSave.Click
' button to save record
' fill table adapter with records
Employee_Hours_Worked_TableTableAdapter.Fill(PayrollDatabaseDataSet.Employee_Hours_Worked_Table)
Dim confirm As Integer
' variable to store records
Dim row As payrollDatabaseDataSet.Employee_Hours_Worked_TableRow
row = PayrollDatabaseDataSet.Employee_Hours_Worked_Table.Rows(current_row)
' user must confirm update
confirm = MsgBox("Are you sure you want to alter this record", 1 + 48, "Please Confirm")
If confirm = 1 Then
' fill variables
row.Hours_Worked_Normal = Hours_Worked_NormalTextBox.Text
row.Hours_Worked_Overtime_1 = Hours_Worked_Overtime_1TextBox.Text
row.Hours_Worked_Overtime_1andhalf = Hours_Worked_Overtime_1andhalfTextBox.Text
row.Hours_worked_overtime_2 = Hours_worked_overtime_2TextBox.Text
' update record
Employee_Hours_Worked_TableTableAdapter.UpdateQueryHoursWorked(row.Hours_Worked_Normal, row.Hours_Worked_Overtime_1, row.Hours_Worked_Overtime_1andhalf, row.Hours_worked_overtime_2, row.Employee_ID)
Else : MsgBox("Action Cancelled!")
End If
' show first record
current_row = 0
ShowCurrentRecord()

The query that updates the hours worked is as follows:
UPDATE    Employee_Hours_Worked_Table
SET              Hours_Worked_Normal = ?, Hours_Worked_Overtime_1 = ?, Hours_Worked_Overtime_1andhalf = ?, Hours_worked_overtime_2 = ?
WHERE    (Employee_ID = ?)

And then i'm also getting an error: Column 'Employee_ID' is constrained to be unique. Value '12' is already present, but i'm not (or at least i'm not intending to change the employee_id. i just want to change the number of hours worked where the employee_id is the same as the employee_id in my current row)

These errors have stumped me. Maybe its the lack of sleep or possibly my lack of knowledge, but i'd really, really appreciate some help since i have to get this program finished by next week

Thanks for taking the time to read my post
Laura



All times are GMT -4. The time now is 5:39 pm.

Forum system based on vBulletin Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
©2003 - 2010 DaniWeb® LLC