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

 

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

DataGridView.Adapter.Update();

Îåêßíçóå áðü ôï ìÝëïò Τάσκος Γιώργος. Τελευταία δημοσίευση από το μέλος Τάσκος Γιώργος στις 14-07-2009, 13:14. Υπάρχουν 7 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  03-11-2008, 20:56 45941

    DataGridView.Adapter.Update();

    Καλησπέρα σε όλους.

    Έχω ένα προβληματάκι!

    Αυτός είναι ο κώδικας που γεμίζει ένα DataGridView
    όταν προσθέτω μία γραμμή, δουλεύει κανονικά κάνοντας Click
    το κουμπί, άν θέλω όμως να αλλάξω μία τιμή, χτυπάει!

    (Dynamic SQL generation for the UpdateCommand is not supported against a SelectCommand that does not return any key column information.)
    (Dynamic SQL generation for the DeleteCommand is not supported against a SelectCommand that does not return any key column information.)

    Τι θέλει να επιστρέψω? Από ότι κατάλαβα δεν έχει αρκετά στοιχεία ώστε να σβήσει την γραμμή ή να την κάνει Update.
    Πρέπει να κάνω Implement εγώ την DELETE και UPDATE commands στα events CellValueChanged, RowsRemoved?

    DataSet oneDataSet = new DataSet();

    private void one_Load(object sender, EventArgs e)
    {
    Command = "SELECT Eidos as Είδος FROM Perigrafes";

    OleDbDataAdapter oneAdapter = new OleDbDataAdapter(Command, Properties.Settings.Default.smithdbConnectionString);
    OleDbCommandBuilder cb = new OleDbCommandBuilder(oneAdapter);
    oneAdapter.Fill(oneDataSet);
    oneDataGridView.DataSource = oneDataSet.Tables[0];
    }

    private void oneButton_Click(object sender, EventArgs e)
    {
    oneAdapter.Update(oneDataSet);
    oneDataSet.AcceptChanges();
    }


    Θα με βοηθούσατε πολύ!!

    Ευχαριστώ!!

  •  03-11-2008, 21:33 45944 σε απάντηση της 45941

    Απ: DataGridView.Adapter.Update();

    Βάλε στο SELECT μαζί με το "Eidos" και το κλειδί του πίνακα. Χωρίς κλειδί δεν μπορεί να ξέρει ποιά εγγραφή να ενημερώσει πίσω στον server. Δικά σου DELETE και UPDATE δεν χρειάζονται αφού χρησιμοποιείς τον CommandBuilder, ωστόσο δεν είναι καλή τακτική. Αν κάνεις μια αναζήτηση με "CommandBuilder" στο dotNETZone θα βρεις περισσότερες πληροφορίες.


    Vir prudens non contra ventum mingit
  •  04-11-2008, 00:45 45951 σε απάντηση της 45944

    Απ: DataGridView.Adapter.Update();

    Ναι ξέρω απλά για την ώρα σαν νιουφι αυτό ξέρω ... θα το αλλάξω!

    Ευχαριστώ δεν ήξερα ότι ήθελε το ID Column.....όταν δουλεύεις με commandbuilder.

  •  04-11-2008, 08:41 45952 σε απάντηση της 45951

    Απ: DataGridView.Adapter.Update();

    Δεν έχει να κάνει με τον CommandBuilder. Πάντοτε πρέπει να φέρνεις τα κλειδιά. Ακόμα και στο SQL Server Management Studio, δεν μπορείς να αλλάξεις στο grid τις εγγραφές σε πίνακα που δεν έχει κλειδί.


    Vir prudens non contra ventum mingit
  •  04-11-2008, 10:27 45955 σε απάντηση της 45952

    Απ: DataGridView.Adapter.Update();

    Συνημμένα: Contact.rar
    gtas, νομίζω σου είχα δώσει μία κλάση Contact που περιέχει την αρχικοποίηση όλων των Commands. Στο ξαναδίνω τώρα, καλού κακού σαν συνημμένο. Απλά να ξέρεις είναι με auto-increment το primary key.
  •  06-11-2008, 20:35 46061 σε απάντηση της 45955

    Απ: DataGridView.Adapter.Update();

    Ευχαριστω man ;)

  •  14-07-2009, 13:08 52460 σε απάντηση της 46061

    Απ: DataGridView.Adapter.Update();

    Καλησπέρα, θα ήθελα την βοήθεια σας πάνω σε αυτό το θέμα. έχω κάτι πίνακες που απλά δεν έχουν Primary Key Και δεν γίνεται να πάρουν Primary key (μην ρωτάτε μεγάλη ιστορία).

    θέλω μέσα απο ένα dataset, να αλλάξω μία τιμή σε μία γραμμή, που δεν έχει id. στο Update βαράει λογικό γιατί δεν βρίσκει πιο Id Να ενημερώσει. ο sql manager όμως το κάνει άρα έχει ένα row_id άρα γίνεται. μήπως ξέρει κανείς?

    To 2007 tha ta poume stin agora :)
  •  14-07-2009, 13:14 52461 σε απάντηση της 52460

    Απ: DataGridView.Adapter.Update();

    Ξεκίνα καινούριο Topic με την ερώτηση σου, για να μπορέσουν να την δουν όλοι!

     


Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems