Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Delete line from a text file

Îåêßíçóå áðü ôï ìÝëïò neoklis. Τελευταία δημοσίευση από το μέλος neoklis στις 25-02-2009, 11:04. Υπάρχουν 15 απαντήσεις.
Σελίδα 1 από 2 (16 εγγραφές)   1 2 >
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  24-02-2009, 12:26 48672

    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 48673 σε απάντηση της 48672

    Απ: Delete line from a text file

    Κάποιο error;! Είναι πολύ πολύ πολύ πολύ πολύ πολύ σημαντικό το error (exception για την ακρίβεια) που παίρνεις. Διάβασέ το, σκέψου το και πες το και εδώ.
    Δεν ξέρω αν γίνεται αυτό που θέλεις καθώς δεν έχω δουλέψει oledb με text αρχεία, αλλά έχοντας το exception μπορεί να βρούμε λύση.

    Ουπς... τι είπα! Είναι πολύ σημαντικό επίσης να διαβάσω σωστά αυτό που γράφεις! Big Smile
    Λες ότι δεν παίρνεις error!

    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  24-02-2009, 12:46 48674 σε απάντηση της 48672

    Απ: Delete line from a text file

    Δεν γίνεται... Το ότι ανοίγει το flat file με τον provider για jet engine δεν σημαίνει ότι είνα και update-able.


    Vir prudens non contra ventum mingit
  •  24-02-2009, 12:59 48678 σε απάντηση της 48674

    Απ: Delete line from a text file

    KelMan:

    Δεν γίνεται... Το ότι ανοίγει το flat file με τον provider για jet engine δεν σημαίνει ότι είνα και update-able.

     

    Αυτό σκεφτόμουνα και εγώ αλλά με προβήματίζει ότι έκανα Insert Into στο txt file.... Δηλαδή μπορώ να κάνω Insert νέας εγγραφής αλλά όχι Delete...;Confused

    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 48679 σε απάντηση της 48674

    Απ: 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


    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  24-02-2009, 13:11 48680 σε απάντηση της 48679

    Απ: Delete line from a text file

    Τώρα το ότι δεν σου πετάει κανένα exception είναι μάλλον σπαστικό. Θα περίμενα ένα exception στο delete ή update.

    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  24-02-2009, 13:20 48682 σε απάντηση της 48680

    Απ: Delete line from a text file

    Sad

    Ωραία... Όντως είναι σπαστικό γιατί παιδεύομαι εδώ και μιάμιση μέρα και έλεγα ότι δεν κάνω κάτι καλά... Υπάρχει κάποιος άλλος τρόπος να σβήσω συγκεκριμένη γραμμή από ένα txt file;

     

    Ευχαριστώ 


    Dionisis
  •  24-02-2009, 13:43 48689 σε απάντηση της 48682

    Απ: 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 48693 σε απάντηση της 48689

    Απ: Delete line from a text file

    Το προγραμματάκι θα τρέχει σε περιπτώσεις που μπορεί να υπάρξει πρόβλημα με το δίκτυο. Επειδή έχω παίξει πολύ με Access, ήθελα το συγκεκριμένο να το ολοκληρώσω με VB.NET. Θεωρούσα ότι θα ήταν πολύ απλό... Τώρα αν αντί για txt χρησιμοποιήσω xml αρχείο θα αντιμετωπίσω τα ίδια προβλήματα..; Θα μπορώ δηλαδή να εκτελώ Delete και update statements..;

     

    Ευχαριστώ


    Dionisis
  •  24-02-2009, 14:46 48694 σε απάντηση της 48693

    Απ: Delete line from a text file

    Αυτό που επίσης μπορώ να κάνω έτσι ώστε να μην εγκαταλέιψω την προσπάθεια σε txt file..

     

    α)Έχω το insert into statement για νέες εγγραφές

     

    β)Έχω το datagridview σαν temp οπου μπορώ να επεξεργαστώ-διαγράψω εγγραφές

     

    γ)OnButtonClick ή OnCloseForm overwrite το αρχείο με WriteAllText και διαβάζοντας γραμμές και κολώνες από το datagridview τότε AppendAllText.

     

    Geeked

     


    Dionisis
  •  24-02-2009, 14:52 48695 σε απάντηση της 48694

    Απ: Delete line from a text file

    neoklis:

    Αυτό που επίσης μπορώ να κάνω έτσι ώστε να μην εγκαταλέιψω την προσπάθεια σε txt file..

     

    Έτσι όπως το λες είναι σαν να έχεις επιλογή. Αν όντως έχεις τότε απλά εγκατέλειψε το txt file και χρησιμοποιήσε κάποια βάση. Αν δεν θέλεις SQL Server μπορείς να χρησιμοποιήσεις SQL Server Compact Edition.

    Dimitris Papadimitriou
    Software Development Professional
    dotNETZone.gr News

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Διαβάστε επίσης τους όρους χρήσης.
  •  24-02-2009, 15:16 48696 σε απάντηση της 48693

    Απ: 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 48699 σε απάντηση της 48696

    Απ: 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 48713 σε απάντηση της 48699

    Απ: Delete line from a text file

    Kelman σίγουρα τα txt δεν ενδείκνυται για data-store. Όμως δεν πιστεύω ότι είναι και τόσο τραγικό το synchronization… Ένα Import και ανέβηκαν στο SAP.. Δεν ξέρω αν βλέπεις άλλες δυσκολίες αόρατες προ στιγμή για μένα... (πιθανόν ναι..)

     

    Kelman και dimitris θα δοκιμάσω να παίξω με SQL Server Compact Edition και Tassos θα δοκιμάσω και με xml..

     

    Ευχαριστώ παιδιά για την βοήθεια σας και για τις συμβουλές σας.. Smile

     


    Dionisis
  •  25-02-2009, 10:06 48714 σε απάντηση της 48713

    Απ: Delete line from a text file

    Γενικά, το synchronization *φαίνεται* απλό αλλά όταν έρχεται η ώρα της υλοποίησης εμφανίζεται το ...αγγούρι Smile Το έχω πάθει προσπαθώντας να υλοποιήσω δική μου λύση. Κάποια στιγμή συνειδητοποίησα ότι για να κάνω τα απαιτούμενα σενάρια, θα έπρεπε να γράψω πολύυυυ κώδικα, πολύ περισσότερο απ' όσο είχα υπολογίσει.

    Τώρα, στη δική σου περίπτωση, δεν ξέρω πως δουλεύει το import του SAP, ωστόσο αυτό που μου φαίνεται περίεργο είναι τα deletes. Αν σβήσεις μια εγγραφή από το αρχείο, πώς θα καταλάβει όταν κάνεις import ότι πρέπει να τη σβήσει, εφόσον δεν θα είναι μέσα στο set πλέον;


    Vir prudens non contra ventum mingit
Σελίδα 1 από 2 (16 εγγραφές)   1 2 >
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems