Announcement

Collapse
No announcement yet.

Zugriff mit C# auf ACCESS

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Zugriff mit C# auf ACCESS

    Bin ein Neuling auf dem Gebiet und hab hier irgendwo letztens einen Beitrag gesehen wie man
    mit C# auf ACCESS zugreift und die Daten in einem GRID
    darstellt.
    Weiß jemand wo der Beitrag ist? Find ihn nicht mehr...

    Danke.

  • #2
    Hallo amaier

    nochfolgend hast einmal ein standard-script fuer die verbindung zu einer AccessDB. holt dir in dieser ausfuehrung alle felder ( daten ) aus der DB und bindet diese an das DataGrid. wenn du dann spaeter daten filtern willst, musst du natuerlich ein paar kleine aenderungen vornehmen. ich hoffe es hilft dir weiter.

    using System;

    using System.Collections;

    using System.ComponentModel;

    using System.Windows.Forms;

    using System.Data;

    using System.Data.OleDb; // Wichtig

    namespace WindowsApplication2

    {

    public class MainClass : System.Windows.Forms.Form

    {

    #region Privates

    private System.ComponentModel.Container components = null;

    private System.Windows.Forms.DataGrid dataGrid1;

    private string strSQL;

    private string strConn;

    #endregion

    // Hier brauchst du erst einmal nichts weiter aendern

    public MainClass()

    {

    InitializeComponent();

    }

    #region Dispose

    protected override void Dispose( bool disposing )

    {

    if( disposing )

    {

    if (components != null)

    {

    components.Dispose();

    }

    }

    base.Dispose( disposing );

    }

    #endregion

    #region Windows Form Designer generated code

    private void InitializeComponent()

    {

    this.dataGrid1 = new System.Windows.Forms.DataGrid();
    ((System.ComponentModel.ISupportInitialize)(this.d ataGrid1)).BeginInit();

    this.SuspendLayout();

    //
    // dataGrid1
    //

    this.dataGrid1.DataMember = "";

    this.dataGrid1.HeaderForeColor = System.Drawing.SystemColors.ControlText;

    this.dataGrid1.Location = new System.Drawing.Point(8, 32);

    this.dataGrid1.Name = "dataGrid1";

    this.dataGrid1.Size = new System.Drawing.Size(496, 320);

    this.dataGrid1.TabIndex = 0;

    //
    // MainClass
    //

    this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);

    this.ClientSize = new System.Drawing.Size(512, 454);

    this.Controls.Add(this.dataGrid1);

    this.Name = "MainClass";

    this.Text = "Form1";

    this.Load += new System.EventHandler(this.Form1_Load);

    ((System.ComponentModel.ISupportInitialize)(this.d ataGrid1)).EndInit();

    this.ResumeLayout(false);

    }

    #endregion

    #region Main

    [STAThread]

    static void Main()

    {

    Application.Run(new MainClass());

    }

    #endregion

    private void Form1_Load(object sender, System.EventArgs e)

    {

    InitDB();

    }

    private void InitDB()

    {

    this.strSQL = "SELECT * FROM Personalien";

    this.strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Password="""";U ser ID=Admin;Data Source=" + Application.StartupPath + @"\personal.mdb";

    try

    {

    OleDbDataAdapter adap = new OleDbDataAdapter( this.strSQL, this.strConn );

    DataSet ds = new DataSet();

    adap.Fill( ds );


    this.dataGrid1.DataSource = ds.Tables[0].DefaultView;

    }

    catch ( OleDbException ex )

    {

    MessageBox.Show ( "ERROR ! : " + ex.ToString() );

    Application.DoEvents();

    }

    }

    }

    }
    &#10

    Comment


    • #3
      Danke für Deine Hilfe! Ich suche allerdings einen Beitrag von Andreas Kosch
      der anscheinend gelöscht wurde.

      Hierdrin war genau beschriegen wie man mit (C#) in einem Grid
      Daten aus einer Access DB anzeigt.

      - Welche Komponenten man auf das Formular ziehen muss
      - Welche Einstellugnen hierzu vorzunehmen sind
      - Welche Funktion letztlich das Grid mit Daten füllt.

      Oder kann das nochmal einer niederschreiben?
      Danke

      Comment


      • #4
        Hallo,

        in VS.NET wird dazu die Komponente <b>OleDbDataAdapter</b> von der Toolbox auf das Formular gezogen. Sobald man die Maustaste loslässt, erscheint der Wizard <i>Data Adapter Configuration Wizard</i>, der einem Schritt für Schritt an die Hand nimmt. Nachdem dort die MDB-Datenbankdatei ausgewählt wurde, muss auf der Wizard-Seite <i>Generate the SQL statements</i> der Button <b>Query Builder...</b> angeklickt werden, um dort die SELECT-Anweisung visuell zusammenzuklicken.

        Wenn der Wizard fertig ist, legt VS.NET die Komponente OleDbDataAdapter1 im Komponentenbereich unterhalb des Formular ab. Mit einem rechtem Mausklick wählt man dann den Menüpunkt <b>Generate DataSet</b> aus. Wenn dies erledigt ist, kann das DataGrid mit diesem DataSet über den Properties-Editor verbunden werden.

        Zur Laufzeit wird dann die Methode <b>Fill</b> der OleDbDataAdapter-Komponente aufgerufen, damit die Daten ins DataSet geladen werden und im DataGrid erscheinen. Bei diesem trivialen Beispiel muss also nur eine einzige Programmzeile von Hand geschrieben werden - den Rest machen die Experten von VS.NET

        Comment


        • #5
          Die genannte einzige Programmzeile lautet:

          private void Form2_Load(object sender, System.EventArgs e)

          {

          <b>oleDbDataAdapter1.Fill(dataSet11);</b>

          Comment

          Working...
          X