Al een tijdje ben ik bezig met een formulier waarop staat, een textbox en een knop.
Zodra men op de knop drukt moet de tekst in de textbox worden opgeslagen in de database. Deze tekst wordt bij de page_load event al geladen met gegevens. En moet in diezelfde cell in de tabel van de d-base worden opgeslagen.
Nu lijkt alles goed te gaan, geen foutmeldingen etc. maar hij wordt vreemdgenoeg niet opgeslagen ..
Diverse dingen heb ik geprobeerd, maar het werkt niet goed, met insert niet met update niet... Wat doe ik dan fout ?
Volgens mij is de code correct....
De code die achter de knop zit om de gegevens te updaten:
Voor het vullen van de textbox uit de database gebruik ik deze code ( dit deel gaat dus wel goed ):
Zodra men op de knop drukt moet de tekst in de textbox worden opgeslagen in de database. Deze tekst wordt bij de page_load event al geladen met gegevens. En moet in diezelfde cell in de tabel van de d-base worden opgeslagen.
Nu lijkt alles goed te gaan, geen foutmeldingen etc. maar hij wordt vreemdgenoeg niet opgeslagen ..
Diverse dingen heb ik geprobeerd, maar het werkt niet goed, met insert niet met update niet... Wat doe ik dan fout ?
De code die achter de knop zit om de gegevens te updaten:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim DS As DataSet
Dim MyConnection As SqlConnection
Dim MyCommand As SqlCommand
MyConnection = New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
Dim UpdateCmd As String = "UPDATE leveringsvoorwaarden SET ID = @ID, wijze_best = @wijze_best where ID = @Id"
MyCommand = New SqlCommand(UpdateCmd, MyConnection)
MyCommand.Parameters.Add(New SqlParameter("@ID", SqlDbType.Int, 4))
MyCommand.Parameters.Add(New SqlParameter("@wijze_best", SqlDbType.NVarChar, 500))
MyCommand.Parameters("@Id").Value = 1
MyCommand.Parameters("@wijze_best").Value = TextBox1.Text
MyCommand.Connection.Open()
Try
MyCommand.ExecuteNonQuery()
Label1.Text = "<b>Record Updated</b><br>" & UpdateCmd.ToString()
Catch Exp As SqlException
If Exp.Number = 2627 Then
Label1.Text = "ERROR: Er is al een record met dezelfde primary key"
Else
Label1.Text = "ERROR: Kan niet updaten, fout geconstateerd."
End If
End Try
MyCommand.Connection.Close()
End Sub |
Voor het vullen van de textbox uit de database gebruik ik deze code ( dit deel gaat dus wel goed ):
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim DS As DataSet
Dim MyConnection As SqlConnection
Dim MyCommand As SqlDataAdapter
MyConnection = New SqlConnection(ConfigurationSettings.AppSettings("ConnectionString"))
MyCommand = New SqlDataAdapter("select * from leveringsvoorwaarden", MyConnection)
DS = New DataSet
Dim mytable As DataTable
MyCommand.Fill(DS, "leveringsvoorwaarden")
TextBox1.Text = DS.Tables("leveringsvoorwaarden").Rows(0).Item(1)
End Sub |