C# Access DataGridView Problem

Blackhawk50000

Erfahrenes Mitglied
Guten Abend. ich habe das folgende sicher bekannte peroblem..

ich habe eine Form in der sich ein DataGridView-Steuerlemend befindet. Da ist doch oben rechts immer so n Pfeil. Mit diesem Assistenten habe ich eine MS Accsess Datenbank angebunden... Und schwubs waren alle daten die ich wollte zur laufzeit in dem View

Doch, als ich die Datenbank verändert habe, änderten sich die daten im Datagried viwe nicht?.. warum nicht? wie mache ich das? wie aktuallisiere ich die daten?


das ist meine form

Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Data.OleDb;

namespace Zahlenraten
{
    public partial class f_Highscores : Form
    {
        public f_Highscores()
        {
            InitializeComponent();
        }

        private void f_Highscores_Load(object sender, EventArgs e)
        {
            // TODO: Diese Codezeile lädt Daten in die Tabelle "highscoresDataSet.HighscoreTabelle". Sie können sie bei Bedarf verschieben oder entfernen.
            this.highscoreTabelleTableAdapter.Fill(this.highscoresDataSet.HighscoreTabelle);           
        }

        /// <summary>
        /// Beim Klick auf den Button b_zurück, wird das Fenster f_Highscores geschlossen
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void b_zurück_Click(object sender, EventArgs e)
        {
            this.Close();
        }
    }
}
 
Ich vermisse den Part, an dem du dem GridView sagst, dass die Datenquelle (augenscheinlich) highScoreTabelleDataAdapter ist - wenn du Änderungen machst, musst du glaube ich (keine Garantie, kann mich aber dunkel erinnern) das dem Grid das mitteilen und die Methode .DataBind(); aufrufen damit die Daten neu an das grid gebunden werden.
 
Danke für die antwort... aber ist DataBind() wirklich schon alles?.. wenn ja wo würdest du das hinsetzten? sicher VOR das
Code:
this.highscoreTabelleTableAdapter.Fill(this.highscoresDataSet.HighscoreTabelle);
oder?
wenn nein, was kommt noch dazu?....ich glaub wir sind auf dem richtig wegn.... jetzt nur nicht aufgeben :)

ich bin leider nicht an dem PC wo das spiel läuft, also kann ich es leider erst heute abend testen... auf dem aktuellen pc, kann die die datenbank nicht ans datagridview hängen... da gibts n fehler aus
 
Änderst du die Daten über das Grid oder direkt über die Datenbank? Wenn übers Grid:

Du bekommst doch mit wenn du Daten im Grid änderst - wenn nicht, dann kannst du zumindest einen Event abfangen - und an der Stelle machst du ein neues DataBind() auf das Grid.

Wenn nicht: Du musst eine Methode bauen die für dich die Abfrage der Daten, also das füllen das DataAdapters übernimmt und ein DataBind macht.

Wenn das Spiel dann läuft hätte ich gerne ein Popup mit nem Bild von mir bei der Tastenkombination STRG+ALT+Shift+G oder so ;-)
 
hehe, das spiel selber leuft ja schon seit Weihnachten, es ging eben nur um die optimierung von der Highscoretabelle die vorher einfach alles in ne textdatei geklatscht hat und ausgelesen hat..... nix sortiert oder irgendsowas.....


du bist ne... ne methode bauen die das macht, was ich will :).. hehe, ich arbeite das erste mal mit datenbanken und datasets und so..... :-(.... ich hatte gehofft das WÄREND der arbeit daran zu verstehen, und wie das füllen geht weiß ich ja... das bekomme ich hin..... die datenbank wird bei dem gewinnen oder aufgeben eines spieles mit informationen gefüttert die auf einer anderen Form (wo das DGV ist wieder ausgegeben werden soll...
 
Ich brauche immernoch Hilfe bei meinem DataGridView.

ich möchte einfach nur das irgendwie beim aufruf der Form wo sich die DataGridView befindet, die daten aus der Datanbankdatei (MDB) in das dataGridView geschrieben werden....
 
Okay, ich werd dir das Vorgehen mal erklären.

  1. Du erstellst eine leere Windows Forms-Anwendung.
  2. Du fügst ein DataGridView hinzu.
  3. Du klickst oben rechts vom DataGridView auf den kleinen Pfeil und drückst bei "Datenquellen auswählen" auf das "Keine".
  4. Jetzt klickst du in dem aufklappenden Teil auf "Projektdatenquelle hinzufügen..."
  5. "Datenbank" -> Weiter -> Neue Verbindung...
  6. Bei Datenquelle auf "Ändern"...
  7. Dann die "Microsoft Access-Datenbankdatei" auswählen
  8. dann gibst du noch die Dateibankdatei an.
  9. "OK" -> "Weiter" -> "Ja" ->"Weiter"
  10. Jetzt wählst du die richtige Tabelle aus.
  11. und klickst auf "Fertigstellen"...
  12. Das wars... ggf. noch auf x86-Anwendung umstellen, weils den Client nicht für x64 gibt.
 
LOL.. genau so habe ich es gemacht... und da wuden auch die daten angezeigt die zu DIESEM ZEITPUNKT in der datenbank standen.... aber als ich die daten verändert hatten und ich die form neu aufgerufen habe, standen immernoch die daten drinnen die zum zeitpunktes der einbindung der datenqeulle in der datenbank STANDEN....
 
Hast recht, hab ich gar nicht gemerkt... aber wenn du die richtige datenbank veränderst, sollten sich die daten im grid mitändern. Werden sie nur nicht geändert, wenn du das fenster neu öffnest, oder auch nicht, wenn du das programm neu startest?
 
Zurück