myGully.com Boerse.SH - BOERSE.AM - BOERSE.IO - BOERSE.IM Boerse.BZ .TO Nachfolger
Zurück   myGully.com > Computer & Technik > Programmierung
Seite neu laden

C# Access Datenbank

Willkommen

myGully

Links

Forum

 
Antwort
 
Themen-Optionen Ansicht
Ungelesen 11.03.14, 16:21   #1
kokru15
Anfänger
 
Registriert seit: Sep 2011
Beiträge: 36
Bedankt: 22
kokru15 erschlägt nachts Börsenmakler | 13158 Respekt Punktekokru15 erschlägt nachts Börsenmakler | 13158 Respekt Punktekokru15 erschlägt nachts Börsenmakler | 13158 Respekt Punktekokru15 erschlägt nachts Börsenmakler | 13158 Respekt Punktekokru15 erschlägt nachts Börsenmakler | 13158 Respekt Punktekokru15 erschlägt nachts Börsenmakler | 13158 Respekt Punktekokru15 erschlägt nachts Börsenmakler | 13158 Respekt Punktekokru15 erschlägt nachts Börsenmakler | 13158 Respekt Punktekokru15 erschlägt nachts Börsenmakler | 13158 Respekt Punktekokru15 erschlägt nachts Börsenmakler | 13158 Respekt Punktekokru15 erschlägt nachts Börsenmakler | 13158 Respekt Punkte
Standard C# Access Datenbank

Hallo Leute.

Da ich neu in der Programmierung bin bräuchte ich etwas Hilfe bei einem Projekt, an dem ich momentan arbeite.
Es geht darum, dass ich durch einen Buttonclick eine Access Datenbank erstelle, mit einer Tabelle und zwei Spalten.
Eine Spate soll jeweils mit Zufallszahlen gefüllt werden.
Eine Datenbank habe ich schon erstellt, jedoch kann ich keine Tabellen erstellen, ohne dass ich einen Fehler bekomme.


So sieht mein Code momentan aus.
Wenn ich dann den entsprechenden Button klicke, bekomme ich die Fehlermeldung "Installierbares ISAM nicht gefunden".
Ich habe ein x64 Betriebssystem und in den Einstellungen von Visual Studios habe ich es auch schon auf x86 umgestellt, aber es geht trotzdem nicht.

Wäre dankbar über hilfreiche Antworten.
kokru15 ist offline   Mit Zitat antworten
Ungelesen 11.03.14, 19:14   #2
WilliamBeldum
Anfänger
 
Registriert seit: Feb 2010
Beiträge: 1
Bedankt: 6
WilliamBeldum ist noch neu hier! | 0 Respekt Punkte
Standard

Ich würde erstmal den if-part ändern und zwar in:

Code:
if(!File.Exists(@"C:\Users\myDb.mdb")) // entweder "C:\\Users\myDb.mdb" oder @"C:\Users\myDb.mdb"
{
  cat.Create(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Users\myDb.mdb;Jet OLEDB:Engine Type=5");
}
außerdem würde ich nicht ins Users Verzeichnis schreiben was man glaub ich nicht kann ohne Admin-rechte.

Desweiteren las mal den nachfolgenden Teil ganz weg:

Code:
ADODB.Connection connection = new ADODB.Connection();
OleDbCommand cmd = new OleDbCommand();

connection.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0; DataSoure=c:\\meineDatenbank.mdb";
connection.Open(null,null,null,0);

cat.ActiveConnection = connection;
du machst eine Verbindung zu einer 2. Datenbank auf, dass aber irgendwie keinen Sinn macht.

Hab zwar eine Weile nicht mehr Programmiert und kann deshalb keine Garantie geben aber ich hoffe ich konnte trotzdem helfen.
WilliamBeldum ist offline   Mit Zitat antworten
Ungelesen 12.03.14, 15:01   #3
burnedhead
Wirklich kein Anfänger
 
Benutzerbild von burnedhead
 
Registriert seit: Mar 2011
Beiträge: 205
Bedankt: 389
burnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkte
Standard

Es gibt noch "einfachere Wege" (sobald man's einmal drauf hat, schmierts wie Butter)

Schau dir mal Linq oder Entity Framework (ADO.net) an...

Unter Visual Studio gibt es unter anderem Datasets, die das Leben um einiges vereinfachen.
Am besten erstellst du dir einen vorerst einen Ordner für das Dataset (Zur Übersichtlichkeit), rechtsklick auf den Ordner -> Neues Element -> Dataset (Der Wizard sollte iegntlich recht einfach sein.)

Unter Tabellen (bzw. Tables) wählst du dann einen TableAdapter, suchst die entsprechend Tabelle in deiner Datenbank und fügst die gewünschten Methoden (Geht hier auch per Mausklick) hinzu.

meineTabelleTableAdapter = new meineTabelleTableAdapter();
List<(Typ, string, int wie auch immer)> Tabelle = new List<(Typ)>()
Tabelle = meineTabelleTableAdapter.HoleMirAlleDaten().ToList ();
__________________
burnedhead ist offline   Mit Zitat antworten
Ungelesen 12.03.14, 18:31   #4
Gehstock
Anfänger
 
Registriert seit: May 2009
Beiträge: 8
Bedankt: 3
Gehstock ist noch neu hier! | 0 Respekt Punkte
Standard

Code:
        public void MakeDB()
        {
            ADOX.Catalog cat = new ADOX.Catalog();
            string dB = "D:\\myDb.mdb";
            if (!File.Exists(@dB))
            {
                cat.Create(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + dB + ";Jet OLEDB:Engine Type=5");
            }
            ADOX.Table table = new ADOX.Table();
            table.Name = "Tagesdurchschnittstemperatur";
            table.Columns.Append("Temperatur", ADOX.DataTypeEnum.adVarWChar, 50);
            table.Columns.Append("Tag", ADOX.DataTypeEnum.adVarWChar, 50);
            cat.Tables.Append(table);
        }
Achte darauf das Du Schreibrechte in dem Ordner hast
Gehstock ist offline   Mit Zitat antworten
Ungelesen 14.03.14, 09:06   #5
Malebime
Anfänger
 
Registriert seit: Sep 2011
Beiträge: 13
Bedankt: 19
Malebime ist noch neu hier! | 0 Respekt Punkte
Standard

Zitat:
Zitat von kokru15 Beitrag anzeigen
Hallo Leute.

Wenn ich dann den entsprechenden Button klicke, bekomme ich die Fehlermeldung "Installierbares ISAM nicht gefunden".
Ich habe ein x64 Betriebssystem und in den Einstellungen von Visual Studios habe ich es auch schon auf x86 umgestellt, aber es geht trotzdem nicht.

Wäre dankbar über hilfreiche Antworten.
Hallo kokru15,

Was hast du denn unternommen, um das Problem zu lösen?
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
Und gleich der erste Treffer... da geht es zwar um Excel aber es ist das gleiche Problem.
[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]

Das sollte dir helfen dein Problem zu lösen!

Gruß,
Malebime
Malebime ist offline   Mit Zitat antworten
Ungelesen 27.03.14, 19:33   #6
burnedhead
Wirklich kein Anfänger
 
Benutzerbild von burnedhead
 
Registriert seit: Mar 2011
Beiträge: 205
Bedankt: 389
burnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkte
Standard

Der wird vom Studio in die config geschrieben. Dementsprechend kann man eigene hinzufügen. Ist halt Stilsache und Verwendungszweckabhängig....
__________________
burnedhead ist offline   Mit Zitat antworten
Ungelesen 25.03.14, 21:06   #7
burnedhead
Wirklich kein Anfänger
 
Benutzerbild von burnedhead
 
Registriert seit: Mar 2011
Beiträge: 205
Bedankt: 389
burnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkteburnedhead leckt gerne myGully Deckel in der Kanalisation! | 43798710 Respekt Punkte
Standard

Zitat:
Zitat von HababaX Beitrag anzeigen
C# und Entity Framework oder Linq2SQL sind nicht möglich. Mir ist für EF kein funkt. provider bekannt.
Nur ungefähr richtig...

[ Link nur für registrierte Mitglieder sichtbar. Bitte einloggen oder neu registrieren ]
__________________
burnedhead ist offline   Mit Zitat antworten
Antwort


Forumregeln
Du kannst keine neue Themen eröffnen
Du kannst keine Antworten verfassen
Du kannst keine Anhänge posten
Du kannst nicht deine Beiträge editieren

BB code is An
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.

Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:31 Uhr.


Sitemap

().