Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Updating record
Message
From
19/07/2003 04:38:52
Keith Payne
Technical Marketing Solutions
Florida, United States
 
 
To
18/07/2003 15:17:44
General information
Forum:
ASP.NET
Category:
ADO.NET
Title:
Miscellaneous
Thread ID:
00810009
Message ID:
00811747
Views:
10
In addition to Cathi's response:

Mufi,

The code you have posted looks okay, except for the myds.GpFilter.GetChanges(DataRowState.Modified) method call. It is not necessary because you are not assigning it's return value to a variable.

I suspect that the UpdateCommand is never being executed because all of the rows in GpFilter have a RowState of Unmodified. To test this, place a breakpoint before the Update call and look through the RowStates of all of the Rows in GpFilter. Or you could assign the result of the GetChanges method to a variable and see if it contains any rows.

Also, you might be seeing some undocumented behavior from GetChanges that resets all of the RowStates to Unmodified. I suspect this because the documentation is very explicit about merging the return value of GetChanges back into the original dataset.


>Mufi,
>
>One thing you can try it to look at SQL Profiler and see exactly what commands are being sent to the backend when you try to update your table.
>
>~~Bonnie
>
>
>>SQL PROCEDURE
>>
>>
>>SET QUOTED_IDENTIFIER ON
>>GO
>>SET ANSI_NULLS ON
>>GO
>>
>>ALTER  Proc UpGpFilter
>>@Finame varchar(25)= null,
>>@Finameid int
>>AS
>>Update GpFilter
>>
>>Set Finame = @Finame
>>Where
>>Finameid = @Finameid
>>
>>GO
>>SET QUOTED_IDENTIFIER OFF
>>GO
>>SET ANSI_NULLS ON
>>GO
>>
>>
>>
>>
>>
>>
>>VB.NET CODE
>>
>>Private Sub UpdateRecord()
>>        Try
>>            Dim mycnn As New SqlConnection(ConnectionString)
>>            dap1.UpdateCommand = New SqlCommand("UpGpFilter", mycnn)
>>            With dap1.UpdateCommand
>>                .CommandType = CommandType.StoredProcedure
>>                .Parameters.Add("@Finame", SqlDbType.VarChar, 25, "Finame")
>>                Dim prm1 As SqlParameter = dap1.UpdateCommand.Parameters.Add("@Finameid", SqlDbType.Int)
>>                prm1.SourceColumn = "Finameid"
>>                prm1.SourceVersion = DataRowVersion.Original
>>            End With
>>
>>            mycnn.Open()
>>            myds.GpFilter.GetChanges(DataRowState.Modified)
>>            dap1.Update(myds, "GpFilter")
>>            mycnn.Close()
>>
>>        Catch ex As SqlException
>>            MsgBox(ex.Message, MsgBoxStyle.Critical, "SQL ERROR")
>>
>>        Catch ex As Exception
>>            MsgBox(ex.Message, MsgBoxStyle.Critical, "General Error")
>>
>>        End Try
>>
>>    End Sub
>>
>>
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform