RowState remains unchanged

mm1234

New member
Joined
Nov 19, 2003
Messages
4
The rowstate in my dataTable(without dataset) does not change (or gets changed back to unchange) when I want to add/delete back to the datasource. Its wierd because I am allowed to update rows. Basically, I can update the datasource but not add or delete. I dont get any errors and Im connecting to an Access DB. Thank you for any help. Here is some code.

sub filldgPubAuthors(pubID as integer)
retrives data and fills datatable
Dim objConnection as new OledbConnection(ConfigurationSettings.AppSettings("StrConnection"))
dim objCmd As New OleDbCommand()
Dim objParam As OleDbParameter
With objCmd

.Connection = objConnection
.CommandText = "[qryPubAuthorWeb]"
.CommandType = CommandType.StoredProcedure
objParam = .Parameters.Add("PublicationID", OleDbType.integer)
End With

objParam.Direction = ParameterDirection.Input
objParam.Value = pubID

Try

myAdapter = New OledbDataAdapter(objCmd)

addPrimaryKey()
myAdapter.Fill(dtPubTable)
viewState("pubTable") = dtPUbTable

dgPubAuthors.dataSource = viewState("pubTable")
dgPubAuthors.databind()

dgPubAuthors.Datasource = objDR
dgPubAuthors.DataBind()

Catch objError As Exception

labelError.Text = objError.Message

Finally

objConnection.Close()

end try

end sub
sub AddDgINfo()
adds new row to the datatable
dtPubTable = Ctype(viewState("pubTable"),Datatable)
dim TempRow as Datarow
tempRow = dtPubTable.NewRow()

tempRow("dlOrder") = txtOrder.text
tempRow("Name") = dlPersonID.selectedItem.text
tempRow("PersonID") = dlPersonId.selectedItem.value
tempRow("Pubrole") = dlRole.selectedItem.text
tempRow("PubroleID") = dlRole.selectedItEm.value
tempRow("Contribution") = txtContribution.text

dtPubTable.Rows.Add(TempRow)
response.write(temprow.RowState.ToString)
temprow.RowState = DataRowState.Added
viewState("pubTable") = dtPUbTable

end sub


sub dgData_Delete(obj as object, e as DataGridCommandEventArgs)
this deletes a row in the datatable

dim senderGrid as Datagrid = cType(obj, datagrid)

generateDataTable()

dim iId as string = Ctype(e.Item.FindControl("ID"), label).text
dim dr as datarow = dtPubtable.Rows.Find(int32.parse(iId))

dtPubTable.Rows.remove(dr)
viewState("pubTable") = dtPUbTable
dgPubAuthors.EditItemIndex = -1
dataTableBind()

end sub

sub updateChild()
updates the datasource
dtPubTable = cType(viewState("pubTable"),datatable)
dtPubTable.Columns.remove("Name")
dtPubTable.Columns.remove("PubRole")

itable = dtPubTable.getChanges()

dim strSQL as string = "SELECT tblPubAuthor.PubAuthorID, tblPubAuthor.PublicationID, tblPubAuthor.PubRoleID, tblPubAuthor.PersonID, tblPubAuthor.dlOrder, tblPubAuthor.Contribution " & _
"FROM tblPubAuthor " & _
"WHERE (((tblPubAuthor.PublicationID)=" & ViewState("hidPubID") & "));"

dim objCommand as new oledbCommand(strSQL,objConnection)


myAdapter.selectCommand = objCommand

Dim cb As OleDbCommandBuilder = New OleDbCommandBuilder(myAdapter)

myAdapter.Update(dtPubTable)

dtPubTable.AcceptChanges()

end sub
 
Back
Top