updating dataset problem

sidnet

New member
Joined
Mar 22, 2006
Messages
1
Programming Experience
Beginner
Dear, i'm developing an application windows in vb.dot net but when i want to add new rows to my table called Mobilier i don't get the change saved in the table?
my code is as follow:

Private Sub BttnEnregistrer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BttnEnregistrer.Click
Dim MobilierID As String
MobilierID = TextBoxIdImmobilier.Text
SqlDataAdapter1.InsertCommand.Parameters("@Id_Immobilier").Value = MobilierID
Dim designation As String
designation = TextBoxDésignation.Text
SqlDataAdapter1.InsertCommand.Parameters("@Désignation").Value = designation
Dim quantité As String
quantité = TextBoxQuantité.Text
SqlDataAdapter1.InsertCommand.Parameters("@Quantité").Value = quantité
Dim dateaquisition As String
dateaquisition = TextBoxDateAcquisition.Text
SqlDataAdapter1.InsertCommand.Parameters("@Date_Acquisition").Value = dateaquisition
Dim etat As String
etat = TextBoxEtat.Text
SqlDataAdapter1.InsertCommand.Parameters("@Etat").Value = etat
Dim observations As String
observations = TextBoxObservations.Text
SqlDataAdapter1.InsertCommand.Parameters("@Observations").Value = observations
Dim description As String
'description = TextBoxDescription.Text
'SqlDataAdapter1.InsertCommand.Parameters("@Description").Value = description
'Dim ministerenom As String
'ministerenom = TextBoxMinistèreNom.Text
'SqlDataAdapter1.InsertCommand.Parameters("@Ministère_Nom").Value = ministerenom
'Dim adresse As String
'adresse = TextBoxAdresse.Text
'SqlDataAdapter1.InsertCommand.Parameters("@Adresse").Value = adresse
Dim immeubleid As String
immeubleid = TextBoxImmeuble.Text
SqlDataAdapter1.InsertCommand.Parameters("@Immeuble_Id").Value = immeubleid
Dim benéficiaireid As String
benéficiaireid = TextBoxBenéficiaireId.Text
SqlDataAdapter1.InsertCommand.Parameters("@Benéficiaire_Id").Value = benéficiaireid
Dim ministereid As String
ministereid = TextBoxMinistèreId.Text
SqlDataAdapter1.InsertCommand.Parameters("@Ministère_Id").Value = ministereid
'Dim beneficiairenom As String
'beneficiairenom = TextBoxDescription.Text
'SqlDataAdapter1.InsertCommand.Parameters("@Benéficiaire_Nom").Value = beneficiairenom
Dim dateacquisition As String
dateacquisition = TextBoxDateAcquisition.Text
SqlDataAdapter1.InsertCommand.Parameters("@Date_Acquisition").Value = dateacquisition
Dim mobilTable As New Data.DataTable("Mobilier")
Dim mobilSQLDataAdapter As New SqlClient.SqlDataAdapter()
Dim mobilInsertSQLCommand As New SqlClient.SqlCommand()
'SqlDataAdapter1.InsertCommand.Parameters("@Ministère_Id").Value = ministereid
'SqlDataAdapter1.InsertCommand.Parameters("@Ministère_Nom").Value = ministerenom
mobilInsertSQLCommand.CommandType = CommandType.Text
mobilInsertSQLCommand.CommandText = "IINSERT INTO Mobilier (Id_Immobilier, Désignation, Quantité, Benéficiaire_Id, Ministère_Id, Date_Acquisition, Etat, Immeuble_id, Observations)" _
& "VALUES (@Id_Immobilier, @Désignation, @Quantité, @Benéficiaire_Id, @Ministère_Id, @Date_Acquisition, @Etat, @Immeuble_id, @Observations);" _
& "SELECT Id_Immobilier, Désignation, Quantité, Benéficiaire_Id, Ministère_Id, Date_Acquisition, Etat, Immeuble_id, Observations FROM Mobilier WHERE (Id_Immobilier = @Id_Immobilier)"
mobilInsertSQLCommand.Connection = SqlConnection1
mobilSQLDataAdapter.InsertCommand = mobilInsertSQLCommand
Dim mobilSelectSQLCommand As New SqlClient.SqlCommand()
mobilSelectSQLCommand.CommandType = CommandType.Text
mobilSelectSQLCommand.CommandText = "SELECT Id_Immobilier, Désignation, Quantité, Benéficiaire_Id, Ministère_Id, Date_Acquisition, Etat, Immeuble_id, Observations FROM Mobilier "
mobilSelectSQLCommand.Connection = SqlConnection1
mobilSQLDataAdapter.SelectCommand = mobilSelectSQLCommand
Dim mobilUpdateSQLCommand As New SqlClient.SqlCommand()
mobilUpdateSQLCommand.CommandType = CommandType.Text
'mobilUpdateSQLCommand.Parameters.Add("@Ministère_Id", DataSet51.Ministère.Columns(0))
'mobilUpdateSQLCommand.Parameters.Add("@Ministère_Nom", DataSet51.Ministère.Columns(1))
mobilUpdateSQLCommand.CommandText = "UPDATE Mobilier SET Id_Immobilier = @Id_Immobilier, Désignation = @Désignation, Quantité = @Quantité, Benéficiaire_Id = @Benéficiaire_Id, " _
& " Ministère_Id = @Ministère_Id, Date_Acquisition = @Date_Acquisition, Etat = @Etat, Immeuble_id = @Immeuble_id, Observations = @Observations WHERE (Id_Immobilier = @Original_Id_Immobilier) AND (Benéficiaire_Id = @Original_Benéficiaire_Id) AND (Date_Acquisition = @Original_Date_Acquisition OR" _
& "@Original_Date_Acquisition IS NULL AND Date_Acquisition IS NULL) AND (Désignation = @Original_Désignation OR @Original_Désignation IS NULL AND Désignation IS NULL) AND (Etat = @Original_Etat OR @Original_Etat IS NULL AND Etat IS NULL) AND (Immeuble_id = @Original_Immeuble_id) AND (Ministère_Id = @Original_Ministère_Id OR" _
& "@Original_Ministère_Id IS NULL AND Ministère_Id IS NULL) AND (Observations = @Original_Observations OR @Original_Observations IS NULL AND Observations IS NULL) AND (Quantité = @Original_Quantité OR @Original_Quantité IS NULL AND Quantité IS NULL);" _
& " SELECT Id_Immobilier, Désignation, Quantité, Benéficiaire_Id, Ministère_Id, Date_Acquisition, Etat, Immeuble_id, Observations FROM Mobilier WHERE (Id_Immobilier = @Id_Immobilier)"
mobilUpdateSQLCommand.Connection = SqlConnection1
mobilSQLDataAdapter.UpdateCommand = mobilUpdateSQLCommand
SqlDataAdapter1.UpdateCommand.Parameters("@Id_Immobilier").Value = MobilierID
Try
Dim anyRow As DataRow = DataSet51.Mobilier.NewRow
anyRow("Id_Immobilier") = MobilierID
anyRow("Désignation") = designation
anyRow("Quantité") = quantité
anyRow("Benéficiaire_Id") = benéficiaireid
anyRow("Ministère_Id") = ministereid
anyRow("Date_Acquisition") = dateacquisition
anyRow("Etat") = etat
anyRow("Immeuble_Id") = immeubleid
anyRow("Observations") = observations
DataSet51.Mobilier.Rows.Add(anyRow)
'Fill the table using the SQLDataAdapter and add it to the existing DataSet
SqlDataAdapter1.Fill(DataSet51.Mobilier)
'DataSet51.Tables.Add(ministTable)
DataSet51.AcceptChanges()
SqlDataAdapter1.Update(DataSet51, "Mobilier")
DataSet51.Mobilier.AcceptChanges()
Catch XCP As Exception
MessageBox.Show(XCP.ToString)
End Try

End Sub

so please any help will be apreciated
you may contact me at: sidya2002@maktoob.com
thanks
 
I'll be honest and say that after reading through your code my brain hurt!! By the time i got the end bit i'd nearly lost the will to live. Please don't post so much code in the future, if only for my sanity. Try to just post the parts you think are relavent. It'll make it much easier to read and you will be more likely to get a response

But anyway, in the line i've highlighted....


VB.NET:
SqlDataAdapter1.Fill(DataSet51.Mobilier)
'DataSet51.Tables.Add(ministTable)
----DataSet51.AcceptChanges()-----
SqlDataAdapter1.Update(DataSet51, "Mobilier")
DataSet51.Mobilier.AcceptChanges()
Catch XCP As Exception
I you call acceptchanges then your table will no longer contain any modified/inserted/deleted rows so the dataadapter won't find anything to update.


 
Back
Top