Op een webform staat een datagrid met een aantal columns uit een MySQL-tabel 'OrderRegels'. Daarnaast is er een Edit-Column, als ik op edit klik kan ik direct in de datagrid de velden van de betreffende row wijzigen. Op de plaats van de Edit-knop komen dan 'Opslaan' en 'Annuleren' zodat ik de wijzigingen kan doorvoeren, respectievelijk annuleren.
De MySQL-tabel 'OrderRegels' is aan de applicatie gekoppeld d.m.v. ODBCDataAdapter 'daOrderRegels'. Nu probeer ik met de volgende code in het EditCommand-event van de datagrid de wijzigingen op te slaan in de database:
Om de één of andere reden krijg ik als foutmelding:
ERROR [07006] [MySQL][ODBC 3.51 Driver][mysqld-4.0.15-nt]Restricted data type attribute violation(SQL_C_NUMERIC)
op de volgende regel:
Ik word niet echt wijzer van deze errormessage. Weet iemand een oplossing?
De MySQL-tabel 'OrderRegels' is aan de applicatie gekoppeld d.m.v. ODBCDataAdapter 'daOrderRegels'. Nu probeer ik met de volgende code in het EditCommand-event van de datagrid de wijzigingen op te slaan in de database:
Visual Basic .NET:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| Private Sub dgOrderRegels_UpdateCommand(ByVal source As Object, ByVal e As _ System.Web.UI.WebControls.DataGridCommandEventArgs) Handles _ dgOrderRegels.UpdateCommand daOrderRegels.SelectCommand.CommandText = "SELECT * FROM OrderRegels " & _ "WHERE OrderID = '" & txtOrderID.Text & "'" daOrderRegels.Fill(DsOrderRegels1) Dim sAantal As String = CType(e.Item.Cells(2).Controls(0), TextBox).Text Dim sVerkoopprijs As String = CType(e.Item.Cells(3).Controls(0), TextBox).Text Dim dt As DataTable = DsOrderRegels1.Tables("OrderRegels") Dim dr As DataRow() = dt.Select("OrderRegelID = '" & _ dgOrderRegels.DataKeys(dgOrderRegels.EditItemIndex).ToString & "'") dr(0)("Aantal") = sAantal dr(0)("Verkoopprijs") = sVerkoopprijs daOrderRegels.Update(dr) dgOrderRegels.EditItemIndex = -1 dgOrderRegels.DataBind() End Sub |
Om de één of andere reden krijg ik als foutmelding:
ERROR [07006] [MySQL][ODBC 3.51 Driver][mysqld-4.0.15-nt]Restricted data type attribute violation(SQL_C_NUMERIC)
op de volgende regel:
Visual Basic .NET:
1
| daOrderRegels.Update(dr) |
Ik word niet echt wijzer van deze errormessage. Weet iemand een oplossing?
[ Voor 7% gewijzigd door EmilneM op 04-11-2003 11:47 ]