I am trying to allow a user to update one record at a time from the datagrid to the database using the built-in update function. No errors are reported (or perhaps I don't know where to look in the logs) but the database is not updated. I have outputted the update values and row key field during the operation and they are correct, yet the update is unsuccessful. Can anyone help?
sub update_orders_dg(sender As Object, e As datagridcommandEventArgs)
Dim OrdersTextbox as integer = ctype(e.item.cells(3).controls(0),textbox).text
Dim Salestextbox as integer = ctype(e.item.cells(4).controls(0),textbox).text
Dim keyid as Integer = orders_dg.datakeys(e.item.itemindex)
label1.text = updateorders(keyid, orderstextbox, salestextbox)
orders_dg.edititemindex=-1
orders_dg.datasource = orders_dg_query(storeddl.Items(storeddl.SelectedIndex).Text,segmentddl.Items(segmentddl.SelectedIndex).Text,monthddl.Items(monthddl.SelectedIndex).Text)
orders_dg.databind()
end sub
sub cancel_orders_dg(sender As Object, e As datagridcommandEventArgs)
orders_dg.edititemindex= -1
orders_dg.datasource = orders_dg_query(storeddl.Items(storeddl.SelectedIndex).Text,segmentddl.Items(segmentddl.SelectedIndex).Text,monthddl.Items(monthddl.SelectedIndex).Text)
orders_dg.databind()
end sub
'update connection
Function updateorders(ByVal key As integer, ByVal orders As integer, ByVal proj_Sales As integer) As Integer
Dim connectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=d:\2004 Orders."& _
"mdb"
Dim dbConnection As System.Data.IDbConnection = New System.Data.OleDb.OleDbConnection(connectionString)
Dim queryString As String = "UPDATE [Orders_by_Month] SET [Orders]=@Orders, [Proj_Sales]=@Proj_Sales WHERE ([O"& _
"rders_by_Month].[key] = @key)"
Dim dbCommand As System.Data.IDbCommand = New System.Data.OleDb.OleDbCommand
dbCommand.CommandText = queryString
dbCommand.Connection = dbConnection
Dim dbParam_key As System.Data.IDataParameter = New System.Data.OleDb.OleDbParameter
dbParam_key.ParameterName = "@key"
dbParam_key.Value = key
dbParam_key.DbType = System.Data.DbType.Int32
dbCommand.Parameters.Add(dbParam_key)
Dim dbParam_orders As System.Data.IDataParameter = New System.Data.OleDb.OleDbParameter
dbParam_orders.ParameterName = "@Orders"
dbParam_orders.Value = orders
dbParam_orders.DbType = System.Data.DbType.Int32
dbCommand.Parameters.Add(dbParam_orders)
Dim dbParam_proj_Sales As System.Data.IDataParameter = New System.Data.OleDb.OleDbParameter
dbParam_proj_Sales.ParameterName = "@Proj_Sales"
dbParam_proj_Sales.Value = proj_Sales
dbParam_proj_Sales.DbType = System.Data.DbType.Int32
dbCommand.Parameters.Add(dbParam_proj_Sales)
Dim rowsAffected As Integer = 0
dbConnection.Open
Try
rowsAffected = dbCommand.ExecuteNonQuery
Catch ex As Exception
Finally
dbConnection.Close
End Try
Return rowsAffected
End Function
sub update_orders_dg(sender As Object, e As datagridcommandEventArgs)
Dim OrdersTextbox as integer = ctype(e.item.cells(3).controls(0),textbox).text
Dim Salestextbox as integer = ctype(e.item.cells(4).controls(0),textbox).text
Dim keyid as Integer = orders_dg.datakeys(e.item.itemindex)
label1.text = updateorders(keyid, orderstextbox, salestextbox)
orders_dg.edititemindex=-1
orders_dg.datasource = orders_dg_query(storeddl.Items(storeddl.SelectedIndex).Text,segmentddl.Items(segmentddl.SelectedIndex).Text,monthddl.Items(monthddl.SelectedIndex).Text)
orders_dg.databind()
end sub
sub cancel_orders_dg(sender As Object, e As datagridcommandEventArgs)
orders_dg.edititemindex= -1
orders_dg.datasource = orders_dg_query(storeddl.Items(storeddl.SelectedIndex).Text,segmentddl.Items(segmentddl.SelectedIndex).Text,monthddl.Items(monthddl.SelectedIndex).Text)
orders_dg.databind()
end sub
'update connection
Function updateorders(ByVal key As integer, ByVal orders As integer, ByVal proj_Sales As integer) As Integer
Dim connectionString As String = "Provider=Microsoft.Jet.OLEDB.4.0; Ole DB Services=-4; Data Source=d:\2004 Orders."& _
"mdb"
Dim dbConnection As System.Data.IDbConnection = New System.Data.OleDb.OleDbConnection(connectionString)
Dim queryString As String = "UPDATE [Orders_by_Month] SET [Orders]=@Orders, [Proj_Sales]=@Proj_Sales WHERE ([O"& _
"rders_by_Month].[key] = @key)"
Dim dbCommand As System.Data.IDbCommand = New System.Data.OleDb.OleDbCommand
dbCommand.CommandText = queryString
dbCommand.Connection = dbConnection
Dim dbParam_key As System.Data.IDataParameter = New System.Data.OleDb.OleDbParameter
dbParam_key.ParameterName = "@key"
dbParam_key.Value = key
dbParam_key.DbType = System.Data.DbType.Int32
dbCommand.Parameters.Add(dbParam_key)
Dim dbParam_orders As System.Data.IDataParameter = New System.Data.OleDb.OleDbParameter
dbParam_orders.ParameterName = "@Orders"
dbParam_orders.Value = orders
dbParam_orders.DbType = System.Data.DbType.Int32
dbCommand.Parameters.Add(dbParam_orders)
Dim dbParam_proj_Sales As System.Data.IDataParameter = New System.Data.OleDb.OleDbParameter
dbParam_proj_Sales.ParameterName = "@Proj_Sales"
dbParam_proj_Sales.Value = proj_Sales
dbParam_proj_Sales.DbType = System.Data.DbType.Int32
dbCommand.Parameters.Add(dbParam_proj_Sales)
Dim rowsAffected As Integer = 0
dbConnection.Open
Try
rowsAffected = dbCommand.ExecuteNonQuery
Catch ex As Exception
Finally
dbConnection.Close
End Try
Return rowsAffected
End Function