VB .net - Δεν γίνεται Update στο DataGrid!

Συζητήσεις για τις γλώσσες του dot Net και για του Visual Studio της Microsoft

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
george_f
Δημοσιεύσεις: 9
Εγγραφή: 02 Απρ 2006 21:25

VB .net - Δεν γίνεται Update στο DataGrid!

Δημοσίευση από george_f » 02 Απρ 2006 21:39

Καλησπέρα! Εχω μια φόρμα η οποία είναι συνδεδεμένη με μια Β.Δ. και ένα κουμπί DELETE το οποίο θέλω να διαγράφει όλα τα στοιχεία του πίνακα Customers της βάσης. Το κουμπί περιέχει τον παρακάτω κώδικα:

-----------------------------------------------------------------------------------
Private Sub Button34_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button34.Click
Dim sqlConn As SqlConnection
Dim sqlComm As SqlCommand
Dim strSQL As String
strSQL = "DELETE FROM Customers"
sqlConn = New SqlConnection(connectionString)
sqlConn.Open()
sqlComm = New SqlCommand(strSQL, sqlConn)
sqlComm.ExecuteNonQuery()
Me.CustomersTableAdapter.Update(Me.DataSet.Customers)
sqlConn.Close()
MessageBox.Show("Η διαγραφή πραγματοποιήθηκε!")
End Sub
------------------------------------------------------------------------------------

Επίσης στην ίδια φόρμα έχω ένα DataGrid του πίνακα Customers.
Οταν πατάω το κουμπί DELETE δεν γίνονται αλλαγές στο DataGrid, όμως ανοίγοντας την βάση βλέπω ότι οι εγγραφές έχουν διαγραφεί.
Μήπως δεν γίνετει update στο DataSet???
Θα μπορούσε κάποιος να με βοηθήσει?
Τελευταία επεξεργασία από το μέλος george_f την 28 Απρ 2006 20:53, έχει επεξεργασθεί 2 φορές συνολικά.

lakritidis
Δημοσιεύσεις: 401
Εγγραφή: 04 Αύγ 2005 14:35
Τοποθεσία: Katerini
Επικοινωνία:

VB .net - Δεν γίνεται Update στο DataGrid!

Δημοσίευση από lakritidis » 03 Απρ 2006 15:37

To να σου εξηγήσει κάποιος αυτό που ζητάς μέσα από το ταλαίπωρο αυτό topic, είναι ψιλοαδύνατο. Γρήγορα γρήγορα να σου πώ ότι χρειάζονται ένα data adapter, στο οποίο θα ορίζεις τα select, insert, update και delete methods. Μπορείς να χρησιμοποιήσεις stored procedures τις οποίες θα καλείς σε κάθε ένα από αυτά τα methods. Oι stored procedures θα πρέπει να δέχονται ως ορίσματα, τα δεδομένα για την κάθε εγγραφή ξεχωριστά, από το κείμενο των text boxes. Έπειτα, θα ορίσεις ενα dataset το οπόιο θα γεμίζει από το παραπάνω adapter. Τέλος, θα φτιάξεις dataviews για να ορίζεις το σύνολο των εγγραφών που θέλεις να έρχονται στο datagrid.

Αν όλα αυτά σου είναι άγνωστα, πάρε και διάβασε το Programming Microsoft SQL Server Using Visual Studio .NET. Θα το βρείς στο site της Microsoft.

george_f
Δημοσιεύσεις: 9
Εγγραφή: 02 Απρ 2006 21:25

VB .net - Δεν γίνεται Update στο DataGrid!

Δημοσίευση από george_f » 01 Μάιος 2006 04:01

Υπάρχει κάποια λύση στο πρόβλημά μου?

Ας απαντήσει κάποιος!

Άβαταρ μέλους
Sheena
Honorary Member
Δημοσιεύσεις: 3654
Εγγραφή: 07 Σεπ 2005 00:00

VB .net - Δεν γίνεται Update στο DataGrid!

Δημοσίευση από Sheena » 15 Οκτ 2006 01:53

george_f έγραψε:Καλησπέρα! Εχω μια φόρμα η οποία είναι συνδεδεμένη με μια Β.Δ. και ένα κουμπί DELETE το οποίο θέλω να διαγράφει όλα τα στοιχεία του πίνακα Customers της βάσης. Το κουμπί περιέχει τον παρακάτω κώδικα:

-----------------------------------------------------------------------------------
Private Sub Button34_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button34.Click
Dim sqlConn As SqlConnection
Dim sqlComm As SqlCommand
Dim strSQL As String
strSQL = "DELETE FROM Customers"
sqlConn = New SqlConnection(connectionString)
sqlConn.Open()
sqlComm = New SqlCommand(strSQL, sqlConn)
sqlComm.ExecuteNonQuery()
Me.CustomersTableAdapter.Update(Me.DataSet.Customers)
sqlConn.Close()
MessageBox.Show("Η διαγραφή πραγματοποιήθηκε!")
End Sub
------------------------------------------------------------------------------------

Επίσης στην ίδια φόρμα έχω ένα DataGrid του πίνακα Customers.
Οταν πατάω το κουμπί DELETE δεν γίνονται αλλαγές στο DataGrid, όμως ανοίγοντας την βάση βλέπω ότι οι εγγραφές έχουν διαγραφεί.
Μήπως δεν γίνετει update στο DataSet???
Θα μπορούσε κάποιος να με βοηθήσει?
Πέσμου λίγα περισσότερα αν θες βοήθεια ή διάβασε λίγο ADO.NET μέχρι να ξαναμιλήσουμε...
Εικόνα

id12856 Οι άγγελοι πάνε κοντά με τους αγγέλους...

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

VB .net - Δεν γίνεται Update στο DataGrid!

Δημοσίευση από skeftomilos » 15 Οκτ 2006 14:51

Μάλλον φταίει το ViewState που θυμάται το grid όπως ήταν πριν τη διαγραφή.

Κώδικας: Επιλογή όλων

<%@ Page Language="VB" EnableViewState="False" %>
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Megistos
Δημοσιεύσεις: 149
Εγγραφή: 14 Ιουν 2005 15:38

VB .net - Δεν γίνεται Update στο DataGrid!

Δημοσίευση από Megistos » 16 Οκτ 2006 13:18

Δοκίμασε με ένα refresh() στο grid αλλιώς να ξανακάνεις databind το grid.

Το πρόβλημά σου είναι ότι έχεις μπερδέψει τις μεθόδους. Παίζεις την μισή εφαρμογή με datasets και την μισή με καθαρό sql, τον τρόπο δηλαδή του ADO 3 στην ουσία.

Εάν θέλεις να το κάνεις έτσι όπως το ξεκίνησες πρέπει να παίξεις με την Delete() σε κάθε γραμμή του Table και όχι με sql.
The Flame Still Burns

Άβαταρ μέλους
MitsBits
Δημοσιεύσεις: 36
Εγγραφή: 26 Σεπ 2006 13:50
Επικοινωνία:

VB .net - Δεν γίνεται Update στο DataGrid!

Δημοσίευση από MitsBits » 20 Οκτ 2006 15:04

Κάνε πρώτα τισ αλλαγές στο dataset και κάνε update στη βάση. (Υποθέτω πως έχεις κάποιο dataset binded στο grid).

Δόκίμασε κάπως έτσι:
-----------------------------------------------------------------------------------
Private Sub Button34_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button34.Click
Dim sqlConn As SqlConnection
Dim sqlComm As SqlCommand
Dim strSQL As String
sqlConn = New SqlConnection(connectionString)
strSQL = "SELECT * FROM Customers"
sqlComm = New SqlCommand(strSQL, sqlConn)
Dim adp AS NEW SqlDataAdapter(SqlComm)
Me.DataSet.Customers.Clear()
sqlConn.Open()
adp.Update(Me.DataSet.Customers)
sqlConn.Close()
MessageBox.Show("Η διαγραφή πραγματοποιήθηκε!")
End Sub
------------------------------------------------------------------------------------

Απάντηση

Επιστροφή στο “dot Net και Visual Studio”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες