Ik ben bezig met de voorbereidingen voor mijn tentamen ASP.net over 3 weken en probeer een voorbeeld te creeren van een update_command in een datagrid, toegevoegd via de property builder. Ik maak gebruik van een SQL server database.
Zoals de topic eigenlijk ook al aangeeft is mijn probleem dat er niet wordt upgedate. Als ik de Command.Text omzet naar een string kan ik zien dat hij de oude values pakt en niet de nieuwe die ik in de textbox heb ingevoerd.
Mijn DataGrid heeft autogeneratecolumns op false staan en edit is de laatse Cell in de DataGrid.
Hij geeft keurig aan dat hij de query succesvol heeft uitgevoerd via de try and catch.
Alle hulp is welkom, Alvast bedankt.
Dit is de code die ik heb:
Zoals de topic eigenlijk ook al aangeeft is mijn probleem dat er niet wordt upgedate. Als ik de Command.Text omzet naar een string kan ik zien dat hij de oude values pakt en niet de nieuwe die ik in de textbox heb ingevoerd.
Mijn DataGrid heeft autogeneratecolumns op false staan en edit is de laatse Cell in de DataGrid.
Hij geeft keurig aan dat hij de query succesvol heeft uitgevoerd via de try and catch.
Alle hulp is welkom, Alvast bedankt.
Dit is de code die ik heb:
C#:
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
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
| using System.Data.SqlClient; public class WebForm1 : System.Web.UI.Page { protected System.Web.UI.WebControls.DataGrid DataGrid1; protected System.Web.UI.WebControls.Label lblMelding; protected string connStr = "Data source=(local);Database=Northwind;Integrated Security = true"; private void Page_Load(object sender, System.EventArgs e) { FillProducts(); } private void FillProducts() { SqlConnection main = new SqlConnection(); main.ConnectionString = connStr; string SQL = "SELECT ProductID, ProductName, SupplierID, CategoryID, QuantityPerUnit, UnitPrice, UnitsInStock, UnitsOnOrder, ReorderLevel FROM Products"; SqlDataAdapter myAdapter = new SqlDataAdapter(SQL, main); DataSet myDS = new DataSet(); myAdapter.Fill(myDS); DataGrid1.DataSource = myDS; DataGrid1.DataBind(); main.Close(); } private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { DataGrid1.EditItemIndex = e.Item.ItemIndex; DataGrid1.DataBind() ; } private void DataGrid1_CancelCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { DataGrid1.EditItemIndex = -1; DataGrid1.DataBind(); } private void DataGrid1_UpdateCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e) { int ProductID; ProductID = Convert.ToInt32((e.Item.Cells[0].Controls[0] as TextBox).Text); string prodName; prodName = (e.Item.Cells[1].Controls[0] as TextBox).Text; int supID; supID = Convert.ToInt32((e.Item.Cells[2].Controls[0] as TextBox).Text); int catID; catID = Convert.ToInt32((e.Item.Cells[3].Controls[0] as TextBox).Text); SqlConnection conn = new SqlConnection(); conn.ConnectionString = connStr; SqlCommand update = new SqlCommand(); update.Connection = conn; conn.Open(); update.CommandText = "UPDATE Products SET ProductName = '" + prodName + "'" + "," + " SupplierID = " + supID + "," + " CategoryID = " + catID + " WHERE ProductID = " + ProductID; try { update.ExecuteNonQuery(); lblMelding.Text = "Rij succesvol ge-update."; } catch (Exception ex) { lblMelding.Text = "Fout bij het updaten." + ex.ToString(); } conn.Close(); DataGrid1.EditItemIndex = -1; DataGrid1.DataBind(); } |
[ Voor 5% gewijzigd door NMe op 30-05-2006 20:50 . Reden: Code tags toegevoegd. Doe je dat de volgende keer zelf? ]