|
Îåêßíçóå áðü ôï ìÝëïò neoklis. Τελευταία δημοσίευση από το μέλος neoklis στις 25-02-2009, 11:04. Υπάρχουν 15 απαντήσεις.
-
24-02-2009, 12:26
|
-
neoklis
-
-
-
Μέλος από τις 18-06-2007
-
-
Δημοσιεύσεις 192
-
-
|
Delete line from a text file
Σε ένα datagridview φορτώνω τις εγγραφές από ένα txt αρχείο. Επιλέγοντας την εγραφή που θέλω και πατώντας ένα button θέλω να διαγράφετε από το txt αρχείο. Το πρόβλημα που αντιμετωπίζω είναι ότι δεν διαγράφεται η γραμμή που θέλω αλλά δεν μου εμφανίζει και κάποιο error….
Ευχαριστώ
Private Sub deletebtn_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim id As String
id = DG.Rows(DG.CurrentRow.Index()).Cells("id").Value.ToString
Using connection As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Hlc\;Extended Properties='TEXT;HDR=Yes;FMT=TabDelimited';")
Using command As New OleDbCommand("Delete From [" & "nonet.txt" & "] where id='@id'", connection)
command.Parameters.AddWithValue("@ID", id)
connection.Open()
command.ExecuteNonQuery()
LoadData("nonet.txt")
End Using
End Using
End Sub
Dionisis
|
|
-
24-02-2009, 12:42
|
|
Απ: Delete line from a text file
Κάποιο error;! Είναι πολύ πολύ πολύ πολύ πολύ πολύ σημαντικό το error (exception για την ακρίβεια) που παίρνεις. Διάβασέ το, σκέψου το και πες το και εδώ. Δεν ξέρω αν γίνεται αυτό που θέλεις καθώς δεν έχω δουλέψει oledb με text αρχεία, αλλά έχοντας το exception μπορεί να βρούμε λύση.Ουπς... τι είπα! Είναι πολύ σημαντικό επίσης να διαβάσω σωστά αυτό που γράφεις!  Λες ότι δεν παίρνεις error!
Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
|
|
-
24-02-2009, 12:46
|
-
KelMan
-
-
-
Μέλος από τις 03-11-2004
-
Planet Earth
-
Δημοσιεύσεις 2.851
-
-
|
Απ: Delete line from a text file
Δεν γίνεται... Το ότι ανοίγει το flat file με τον provider για jet engine δεν σημαίνει ότι είνα και update-able.
Vir prudens non contra ventum mingit
|
|
-
24-02-2009, 12:59
|
-
neoklis
-
-
-
Μέλος από τις 18-06-2007
-
-
Δημοσιεύσεις 192
-
-
|
Απ: Delete line from a text file
KelMan:
Δεν γίνεται... Το ότι ανοίγει το flat file με τον provider για jet engine δεν σημαίνει ότι είνα και update-able.
Αυτό σκεφτόμουνα και εγώ αλλά με προβήματίζει ότι έκανα Insert Into στο txt file.... Δηλαδή μπορώ να κάνω Insert νέας εγγραφής αλλά όχι Delete...;
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 |
Private Sub Append_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Append.Click Using connection As New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=c:\Hlc\;Extended Properties='TEXT;HDR=Yes;FMT=TabDelimited';") Using command As New OleDbCommand("Insert Into [" & "nonet.txt" & "](ID,zygos,vardia,mach,po,order_,line,customer,product,mixed,tare,net,pcs,no_,eddy) VALUES (@ID,@zygos,@vard,@Mach,@po,@order,@line,@customer,@product,@mixed,@tare,@net,@pcs,@no,@eddy)", connection)
command.Parameters.AddWithValue("@ID", Me.ZygID.Text + "_" + Format(Now(), "yyyyMMddhhmmss")) command.Parameters.AddWithValue("@Zygos", Me.ZygID.Text) command.Parameters.AddWithValue("@Vard", Me.vard.Text) command.Parameters.AddWithValue("@Mach", Me.mhx.Text) command.Parameters.AddWithValue("@po", Me.po.Text) command.Parameters.AddWithValue("@order", Me.Ord.Text) command.Parameters.AddWithValue("@line", Me.line.Text) command.Parameters.AddWithValue("@customer", Me.customer.Text) command.Parameters.AddWithValue("@product", Me.product.Text) command.Parameters.AddWithValue("@mixed", Me.mixed.Text) command.Parameters.AddWithValue("@tare", Me.tare.Text) command.Parameters.AddWithValue("@net", Me.net.Text) command.Parameters.AddWithValue("@pcs", Me.pcs.Text) command.Parameters.AddWithValue("@no", Me.no.Text) command.Parameters.AddWithValue("@eddy", Me.eddy.Text)
connection.Open() command.ExecuteNonQuery()
LoadData("nonet.txt") End Using End Using End Sub |
Dionisis
|
|
-
24-02-2009, 13:01
|
|
Απ: Delete line from a text file
KelMan:Δεν γίνεται... Το ότι ανοίγει το flat file με τον provider για jet engine δεν σημαίνει ότι είνα και update-able.
Και η επίσημη έκδοση (http://support.microsoft.com/kb/146220) : This behavior is by design
Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
|
|
-
24-02-2009, 13:11
|
|
Απ: Delete line from a text file
Τώρα το ότι δεν σου πετάει κανένα exception είναι μάλλον σπαστικό. Θα περίμενα ένα exception στο delete ή update.
Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
|
|
-
24-02-2009, 13:20
|
-
neoklis
-
-
-
Μέλος από τις 18-06-2007
-
-
Δημοσιεύσεις 192
-
-
|
Απ: Delete line from a text file

Ωραία... Όντως είναι σπαστικό γιατί παιδεύομαι εδώ και μιάμιση μέρα και έλεγα ότι δεν κάνω κάτι καλά... Υπάρχει κάποιος άλλος τρόπος να σβήσω συγκεκριμένη γραμμή από ένα txt file;
Ευχαριστώ
Dionisis
|
|
-
24-02-2009, 13:43
|
-
KelMan
-
-
-
Μέλος από τις 03-11-2004
-
Planet Earth
-
Δημοσιεύσεις 2.851
-
-
|
Απ: Delete line from a text file
Μπορείς να κρατήσεις κάπου όλες τις γραμμές που θες να σβήσεις και μετά να ανοίξεις ένα temp αρχείο, να κάνεις ένα iteration στον αρχικό πίνακα και όποια δεν είναι μέσα στο set των deleted, να την ρίχνεις στο temp. Μετά σβήνεις το αρχικό και μετονομάζεις το temp με το όνομα του αρχικού.
Το ερώτημα είναι γιατί να κάνεις όλη αυτή την ιστορία και να μην παίξεις με μια βάση, έστω Access αν όχι SQL Server Compact Edition. Η λύση του flat file είναι πολύ περιορισμένη ως προς τις δυνατότητες, το μέγεθος που μπορεί να φτάσει (από πρακτικής άποψης - όχι θεωρητικής), της ασφάλειας (corruption και consistency δεδομένων), κλπ.
Vir prudens non contra ventum mingit
|
|
-
24-02-2009, 14:04
|
-
neoklis
-
-
-
Μέλος από τις 18-06-2007
-
-
Δημοσιεύσεις 192
-
-
|
Απ: Delete line from a text file
Το προγραμματάκι θα τρέχει σε περιπτώσεις που μπορεί να υπάρξει πρόβλημα με το δίκτυο. Επειδή έχω παίξει πολύ με Access, ήθελα το συγκεκριμένο να το ολοκληρώσω με VB.NET. Θεωρούσα ότι θα ήταν πολύ απλό... Τώρα αν αντί για txt χρησιμοποιήσω xml αρχείο θα αντιμετωπίσω τα ίδια προβλήματα..; Θα μπορώ δηλαδή να εκτελώ Delete και update statements..;
Ευχαριστώ
Dionisis
|
|
-
24-02-2009, 14:46
|
-
neoklis
-
-
-
Μέλος από τις 18-06-2007
-
-
Δημοσιεύσεις 192
-
-
|
Απ: Delete line from a text file
Αυτό που επίσης μπορώ να κάνω έτσι ώστε να μην εγκαταλέιψω την προσπάθεια σε txt file..
α)Έχω το insert into statement για νέες εγγραφές
β)Έχω το datagridview σαν temp οπου μπορώ να επεξεργαστώ-διαγράψω εγγραφές
γ)OnButtonClick ή OnCloseForm overwrite το αρχείο με WriteAllText και διαβάζοντας γραμμές και κολώνες από το datagridview τότε AppendAllText.

Dionisis
|
|
-
24-02-2009, 14:52
|
|
Απ: Delete line from a text file
neoklis:Αυτό που επίσης μπορώ να κάνω έτσι ώστε να μην εγκαταλέιψω την προσπάθεια σε txt file..
Έτσι όπως το λες είναι σαν να έχεις επιλογή. Αν όντως έχεις τότε απλά εγκατέλειψε το txt file και χρησιμοποιήσε κάποια βάση. Αν δεν θέλεις SQL Server μπορείς να χρησιμοποιήσεις SQL Server Compact Edition.
Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
|
|
-
24-02-2009, 15:16
|
-
tasos
-
-

-
Μέλος από τις 13-11-2006
-
Θεσσαλονίκη
-
Δημοσιεύσεις 283
-
-
|
Απ: Delete line from a text file
neoklis:Το προγραμματάκι θα τρέχει σε περιπτώσεις που μπορεί να υπάρξει πρόβλημα με το δίκτυο. Επειδή έχω παίξει πολύ με Access, ήθελα το συγκεκριμένο να το ολοκληρώσω με VB.NET. Θεωρούσα ότι θα ήταν πολύ απλό... Τώρα αν αντί για txt χρησιμοποιήσω xml αρχείο θα αντιμετωπίσω τα ίδια προβλήματα..; Θα μπορώ δηλαδή να εκτελώ Delete και update statements..;
Ευχαριστώ
Σίγουρα με xml μπορείς να κάνεις τέτοιες λειτουργίες και αρκετά εύκολα. Ρϊξε μια ματιά στο google και θα βρεις αρκετά παραδείγματα.
Τάσος Καραγιάννης Baby debugging steps...
|
|
-
24-02-2009, 17:39
|
-
KelMan
-
-
-
Μέλος από τις 03-11-2004
-
Planet Earth
-
Δημοσιεύσεις 2.851
-
-
|
Απ: Delete line from a text file
Το θέμα δεν είναι τι μπορεί και τι δεν μπορεί να γίνει αλλά το πόσο σωστό είναι αυτό που θα γίνει. Ένα text file είναι απλά ένα text file και του λείπουν βασικά χαρακτηριστικά για να παίξει το ρόλο off-line data store. Επιπρόσθετα, αν όπως κατάλαβα το θες να παίζει το ρόλο του data-store όσο υπάρχει πρόβλημα με το δίκτυο, όταν αποκατασταθεί το πρόβλημα, πώς θα κάνεις το synchronization με τη βάση; Χειροκίνητα; Χαιρετίσματα... Ο SQL Server Compact είναι ακριβώς για κάτι τέτοια σενάρια.
Vir prudens non contra ventum mingit
|
|
-
25-02-2009, 09:42
|
-
neoklis
-
-
-
Μέλος από τις 18-06-2007
-
-
Δημοσιεύσεις 192
-
-
|
Απ: Delete line from a text file
Kelman σίγουρα τα txt δεν ενδείκνυται για data-store. Όμως δεν πιστεύω ότι είναι και τόσο τραγικό το synchronization… Ένα Import και ανέβηκαν στο SAP.. Δεν ξέρω αν βλέπεις άλλες δυσκολίες αόρατες προ στιγμή για μένα... (πιθανόν ναι..)
Kelman και dimitris θα δοκιμάσω να παίξω με SQL Server Compact Edition και Tassos θα δοκιμάσω και με xml..
Ευχαριστώ παιδιά για την βοήθεια σας και για τις συμβουλές σας.. 
Dionisis
|
|
-
25-02-2009, 10:06
|
-
KelMan
-
-
-
Μέλος από τις 03-11-2004
-
Planet Earth
-
Δημοσιεύσεις 2.851
-
-
|
Απ: Delete line from a text file
Γενικά, το synchronization *φαίνεται* απλό αλλά όταν έρχεται η ώρα της υλοποίησης εμφανίζεται το ...αγγούρι Το έχω πάθει προσπαθώντας να υλοποιήσω δική μου λύση. Κάποια στιγμή συνειδητοποίησα ότι για να κάνω τα απαιτούμενα σενάρια, θα έπρεπε να γράψω πολύυυυ κώδικα, πολύ περισσότερο απ' όσο είχα υπολογίσει.
Τώρα, στη δική σου περίπτωση, δεν ξέρω πως δουλεύει το import του SAP, ωστόσο αυτό που μου φαίνεται περίεργο είναι τα deletes. Αν σβήσεις μια εγγραφή από το αρχείο, πώς θα καταλάβει όταν κάνεις import ότι πρέπει να τη σβήσει, εφόσον δεν θα είναι μέσα στο set πλέον;
Vir prudens non contra ventum mingit
|
|
Σελίδα 1 από 2 (16 εγγραφές)
1
|
|
|