Plateforme Level Extreme
Abonnement
Profil corporatif
Produits & Services
Support
Légal
English
Updating record
Message
De
19/07/2003 04:38:52
Keith Payne
Technical Marketing Solutions
Floride, États-Unis
 
 
À
18/07/2003 15:17:44
Information générale
Forum:
ASP.NET
Catégorie:
ADO.NET
Titre:
Divers
Thread ID:
00810009
Message ID:
00811747
Vues:
11
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
>>
>>
Précédent
Suivant
Répondre
Fil
Voir

Click here to load this message in the networking platform