bf-7a7u7
Goto Top

CSharp - Abfrage und Ausgabe aus einer accdb Datei in einer WindowsForm

Hallo Zusammen,

ich bastle seit kurzem einfachste Programme in C#, finde ich sehr interessant und cool. Leider stoss ich wg. meiner Unwissenheit oft an meine Grenzen, sowie jetzt.

Ich habe eine Idee die ich sehr gern verwirklichen möchte und zwar geht es um eine kleine Berechnung und aus darausfolgenden Daten müssen entsprechende Daten aus einer accdb Datei ausgegeben werden - eine Parameterabfrage.

Mein fortschritt:
Ich habe eine accdb Datei erstellt mit einer Tabelle, diese beinhaltet mehrere Spalten. In einer dieser Spalten stehen Zahlen die ich mit einer +-2,5% genauigkeit ausgeben möchte.
Ich habe die accdb in das Projekt eingebunden via Datenquelle (DataSet) und jetzt stehe ich aufm schlauch...

Wie greife ich auf diese Daten zu - Abfrage und wie gebe ich diese Abfrage wieder (Tabellenförmig)?

meine einzige Variable für die Abfrage ist " durchmesser "

Wäre sehr Dankbar für Ihre Hilfe

PS: Habe im Inet mehrere "Tutorials" angeschaut aber ich verstehe nur Bahnhof. Ich muss erst selber eine Lösung sehen um diese auch zu verstehen. Ich habe keine Programmiersprache gelernt - blütiger amateur und anfänger! face-smile

Content-ID: 229418

Url: https://administrator.de/contentid/229418

Ausgedruckt am: 26.11.2024 um 00:11 Uhr

ITvortex
ITvortex 11.02.2014 um 16:34:28 Uhr
Goto Top
Hallo,

zuerst solltest du einmal erfolgreich auf deine Datenbank zugreifen können.

Dafür benötigst du folgenden Treiber:http://www.microsoft.com/de-de/download/details.aspx?id=23734
Nach dem installieren musst du deinen Connectionstring dementsprechend anpassen: String connect = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\DeineDatei.accdb;Jet OLEDB:Database Password=MeinDbPasswort;";

Ich hoffe das ich deine Frage nicht falsch verstanden habe, aber ich denke um eine accdb Datei auslesen zu können musst du erstmals eine Verbindung aufbauen ;)

lg

ITvortex
bf-7a7u7
bf-7a7u7 11.02.2014 um 16:45:55 Uhr
Goto Top
Hallo ITvortex

ich habe die Datenbank bereits in das Projekt integriert, Tabellen kann ich bereits auswählen und auch Spalten. Es liess sich prima via Datenquellen einfügen / einbinden.

Mir geht es wirklich um die Abfrage an sich (also eine Variable "Durchmesser" als Parameter für die Abfrage und wie gebe ich diese Daten als eine Tabelle aus)

Gruss und Danke

Arthur
ITvortex
Lösung ITvortex 11.02.2014 aktualisiert um 17:00:10 Uhr
Goto Top
Sorry, das hab ich überlesen (wenns gerade wieder irgendwo kracht ;)).


Aktionsabfrage starten:

private void button1_Click(object sender, System.EventArgs e)
{
OleDbDataAdapter da =
new OleDbDataAdapter("SELECT Durchmesser FROM DeinerTabelle", conn);

//.......
}

Ganz normales SQL-Statement verwenden?

Evt. soltest du dir folgendes genau durchlesen: my.safaribooksonline.com/book/-/9783866454460/4dot-einf-hrung-adodotnet/id3269036

lg
colinardo
colinardo 11.02.2014 aktualisiert um 17:09:56 Uhr
Goto Top
Hallo Arthur,
ein Beispiel (ohne die Visual Studio-Integration mit Herstellen der DB-Verbindung via Code):
    String _dbPath = @"E:\Database.accdb";  
    OleDbConnection _dbConn = new OleDbConnection(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + _dbPath);  
    _dbConn.Open();
    OleDbCommand SQL = new OleDbCommand("Select * FROM DeineTabelle", _dbConn);  
    OleDbDataAdapter da = new OleDbDataAdapter(SQL);
    DataTable dt = new DataTable();
    da.Fill(dt);
    foreach(DataRow row in dt.Rows){
        MessageBox.Show(row["Druchmesser"].ToString());  
    }
    _dbConn.Close();
hierfür benötigst du ein
using System.Data.OleDb;
im Kopf deiner Anwendung.

Wenn du mit den integrierten Wizards arbeiten willst, und die Dataset-Abfrage anpassen willst musst du im Data Source Explorer das zweite Icon von Links wählen Dataset mit Designer bearbeiten. Dann kannst du über die Toolbox eine Query hinzufügen und damit den Filter zusammenklicken oder mit SQL definieren.

Das Thema ist aber so vielfältig das du unbedingt einges vorher lesen solltest damit du das ganze Konzept dahinter verstehst. Das können wir hier nicht alles leisten.
http://msdn.microsoft.com/de-de/library/ms171918%28v=vs.90%29.aspx
Die Materie es etwas komplexer für Anfänger, aber da musst du dich durcharbeiten...

Grüße Uwe
bf-7a7u7
bf-7a7u7 11.02.2014 um 17:05:35 Uhr
Goto Top
Danke für den Link... muss ich mal durchgehen.

Ja mit SQL habe ich so meine schwierigkeiten aber eine Abfrage krieg ich denk ich hin (habe oft genug in Tutorials gesehen), für mich ist es immer schwierig alles zusammen zu verbinden... face-sad
colinardo
colinardo 11.02.2014 aktualisiert um 17:08:38 Uhr
Goto Top
Tipp: Zieh mal die Tabelle im Dataset via Drag n' Drop in die Form, damit erhältst du ein Basis-Interface für die Bearbeitung des Dataset.
bf-7a7u7
bf-7a7u7 11.02.2014 um 17:17:50 Uhr
Goto Top
Jaa, jetzt habe ich in 15 min. soviele Tipps bekommen - habe warscheinlich ganze zwei Tage um dies alles anzuwenden :D

Danke Jungs
Ich probiere es jetzt zu realisieren (ehe probieren face-smile )... hoffentlich werd ich schlauer :D

Danke face-smile
ITvortex
ITvortex 11.02.2014 aktualisiert um 20:34:09 Uhr
Goto Top
SQL-Statements haben eine klare Linie.

Zuerst (immer!) SELECT [column optional] <--- '*' steht für alle Spalten
Dann (immer!) FROM [Table [optional]
Und danach je nach dem was du machen willst. Etwaige JOIN 's usw.

Wichtig: Gruppierungen immer zum Schluß, und nach einer Spalte gruppieren das du in deiner Selektion (SELECT) stehen hast. Wenn du etwas gruppierst wird ein etwaiges WHERE (zum Filtern z.B: 1=1) erst nach der Gruppen bildung verarbeitet.

Ein SQL Statement könne z.B. so aussehen: SELECT * FROM person WHERE name = 'ITvortex';

Mit "SQL Developer" kannst du deine Statements testen: http://www.oracle.com/technetwork/developer-tools/sql-developer/downloa ...

lg

ITvortex