Willkommen |
|
myGully |
|
Links |
|
Forum |
|
|
|
 |
11.03.14, 16:21
|
#1
|
Anfänger
Registriert seit: Sep 2011
Beiträge: 36
Bedankt: 22
|
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.
|
|
|
11.03.14, 19:14
|
#2
|
Anfänger
Registriert seit: Feb 2010
Beiträge: 1
Bedankt: 6
|
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.
|
|
|
12.03.14, 15:01
|
#3
|
Wirklich kein Anfänger
Registriert seit: Mar 2011
Beiträge: 205
Bedankt: 389
|
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 ();
__________________
|
|
|
12.03.14, 18:31
|
#4
|
Anfänger
Registriert seit: May 2009
Beiträge: 8
Bedankt: 3
|
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
|
|
|
14.03.14, 09:06
|
#5
|
Anfänger
Registriert seit: Sep 2011
Beiträge: 13
Bedankt: 19
|
Zitat:
Zitat von kokru15
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
|
|
|
27.03.14, 19:33
|
#6
|
Wirklich kein Anfänger
Registriert seit: Mar 2011
Beiträge: 205
Bedankt: 389
|
Der wird vom Studio in die config geschrieben. Dementsprechend kann man eigene hinzufügen. Ist halt Stilsache und Verwendungszweckabhängig....
__________________
|
|
|
25.03.14, 21:06
|
#7
|
Wirklich kein Anfänger
Registriert seit: Mar 2011
Beiträge: 205
Bedankt: 389
|
Zitat:
Zitat von HababaX
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 ]
__________________
|
|
|
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
HTML-Code ist Aus.
|
|
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:31 Uhr.
().
|