Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

Hallo also mit meinem Programm soll es möglich sein adressen zu verwallten...

so nun kann es forkommen das eine komplett neue Datembank erstellt werden muss. Der name der neuen Datenbank wir din eine Textbox eingegeben. Das habe ich ja soweit auch hinbekommen:

Dim oCat As ADOX.Catalog

Dim sConn As String

oCat = New ADOX.Catalog

sConn = "Provider=Microsoft.Jet.OLEDB.4.0;" & _

"Data Source=T:\ " & TextBox1.Text & " .mdb;"

oCat.Create(sConn)

oCat = Nothing

Try

Dim con As DbConnection = New OleDbConnection()

con.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" & _

"Data Source=T:\ " & TextBox1.Text & " .mdb;"

con.Open()

Catch ex As Exception

MsgBox("Fehler beim öfnen/erstellen!", ex.Message)

Finally

MsgBox("Erstellen erfolgreich")

End Try

nun muss diese Datenbank beim erneuten starten des Programmes wieder geladen werden. Da ich aber nicht vorher weiß welche datenbanken alle neu dazukommen kann ich sie ja nicht einfach beim start laden...

hinzu kommt das die daten in einem datagridview angezeit werden müssen ...

Den code der "hinter" der form steht habe ich mir schon angesehen um zu schauen was da alles gemacht werden muss und so wie ich das sehe ist das eine ganze menge ...

Geht das so wie ich das vorhabe überhaupt oder habt ihr einfachere ansätze für mich???

und ja ich habe schon gegooglet aber das hat mich nur noch mehr verwirrt

Danke schonmal LG Bloody rain

Geschrieben (bearbeitet)

Hi,

ein Ansatz neu hinzu gekommenen Datenbanken beim Programmstart zu laden, wäre eine eigene Datenbank anzulegen, in der alle Datenbanken, die neu angelegt werden, gespeichert werden (Name und Connectionstring) Beim Programmstart liest Du die in der DB gespeicherten Connectionstrings ein und kannst so eine Verbindung zu den angelegten DB's herstellen.

Daten im Datagridview anzeigen ist relativ einfach. Dazu lädtst Du die Daten aus der DB-Tabelle in ein Dataset. Dieses Dataset übergibst Du dem Datagridview als Datasource.

MfG

Ronaldus

Bearbeitet von ronaldus
Geschrieben

Hi,

ein Hinweis noch zum Datasource binden an das Datagridview: Du musst aus dem Dataset eine besimmte DataTable binden!

Bzw. wie in dem Beispiel den DataMember angeben (ist der Name der DataTable)

Vielleicht hilft Dir folgendes Beispiel weiter:

private void BindToDataSet(DataGrid myGrid){

// Create a DataSet.

DataSet myDataSet = new DataSet("myDataSet");

// Insert code to populate DataSet with several tables.

myGrid.DataSource = myDataSet;

// Use the DataMember property to specify the DataTable.

myGrid.DataMember = "Suppliers";

}

Geschrieben

Naja...einfacher ist vielleicht übertrieben. Ich finde es aber komfortabler.

Die Struktur der Xml Datei köntte so aussehen:


<?xml version="1.0" encoding="utf-8"?>

<Datenbanken>

  <Datenbank name="Database1">

    <connectionString>Hier steht der ConnectionString zur Database1</connectionString>

  </Datenbank>

  <Datenbank name="Database2">

    <connectioNString>Hier steht der ConnectionString zur Database2</connectioNString>

  </Datenbank>

</Datenbanken>

Sollte nun etwas hinzugefügt werden, dann wird unter dem Database2-Element ein weiteres eingefügt.

Geschrieben

das klingt an un für sich ja nicht so schwehr nur weiß ich nciht wie das funktionieren soll....

der benutzer legt wärend das programm läuft eine neue datenbank an und da kenne ichd en namen ja vorher nciht der wird in eine textbox geschrieben geht denn das trotzdem?

Geschrieben (bearbeitet)
das klingt an un für sich ja nicht so schwehr nur weiß ich nciht wie das funktionieren soll....

der benutzer legt wärend das programm läuft eine neue datenbank an und da kenne ichd en namen ja vorher nciht der wird in eine textbox geschrieben geht denn das trotzdem?

Der Benutzer gibt doch die Zugriffsdaten für die Datenbank ein bzw. diesen müssen doch, bevor die Datenbank im DBMS angelegt wird, feststehen. Denn sonst könnte ja keine DB angelegt werden. Das Xml-Attribut "name" sollte im Grunde genommen nur eine Art Key sein, um den ConnectionString zu identifizieren.

Nach der Eingabe muss der User doch irgendwas klicken?! Auf diesen Klick schreibt eine andere Klasse den eingegebenen String in die XML-Datei.

Bearbeitet von lbm1305
Geschrieben
aso ...

kann cih nciht einfach immer beim laden alle datenbanken aus einem bestimmten ordner einbinden??? oder muss ich das für jede einzeln machen?

Andere Frage: Ist es sinnvoll, Resourcen zu verschwenden, die möglicherweise nicht benutzt werden?

Geschrieben

stimmt ...

das problem ist wohl eher das ich viel zu wenig ahnung habe .

also ich habe mich mit klassen noch nciht so beschäftigt geht es wirklich nciht ohne etwas in den xml code zu schrieben und viel wichtiger (ja ****** frage) bleibt der code beim nochmaligem starten des programms auch so oder wird er wieder so geladen wie er anfangs war? ich will ja nciht jedesmal eine neue datenbank anlegen müssen ..

ich weiß ist stelle mich blöd an aber deswegen frag ich ja auch habe nunmal einfach kaum ahnung und dieses fachgesimpel auf den microsoftseiten verstehe ich einfach nicht

Geschrieben (bearbeitet)
stimmt ...

das problem ist wohl eher das ich viel zu wenig ahnung habe .

also ich habe mich mit klassen noch nciht so beschäftigt geht es wirklich nciht ohne etwas in den xml code zu schrieben und viel wichtiger (ja ****** frage) bleibt der code beim nochmaligem starten des programms auch so oder wird er wieder so geladen wie er anfangs war? ich will ja nciht jedesmal eine neue datenbank anlegen müssen ..

ich weiß ist stelle mich blöd an aber deswegen frag ich ja auch habe nunmal einfach kaum ahnung und dieses fachgesimpel auf den microsoftseiten verstehe ich einfach nicht

Alles was in die (Xml)Datei geschrieben wird, bleibt auch da. Außer die Datei wird von Hand überschrieben. Auch das Speichern der ConnectionStrings in einer Datenbank wäre möglich. Diesen Weg finde ich persönlich nicht soo doll. :-)

Hier wäre ein Beispiel für das Erstellen einer Xml Datei. Dies ist aber in C# geschrieben, wobei die Klassenbezeichnungen im .NET gleich sind. VB.NET hat halt nur ne andere Syntax.

CSharp XML - Erzeugen eines XML-Dokuments mit C#. / XmlDocument XmlNode CreateElement AppendChild

Bearbeitet von lbm1305
Link vergessen
Geschrieben

also kann ich , wenn ich das richtig verstehe wärend mein programm läuft etwas in die xlmdatei schrieben die zu dem programm gehört ist das richtig? oder sollte ich eigends dazu eine neue xml datei erstellen und die einbinden die nur für die datenbank sache ist ?

Geschrieben (bearbeitet)

Die Xml Datei kannst Du

a) über einen externen Editor erstellen und da bereits bekannte Strings eintragen oder

B) du lässt, wenn die Datei noch nicht exisitiert, diese von Deinem Programm erstellen.

Zum Einlesen der Datei muss dem Programm der Pfad bekannt sein. Daher wäre es ratsam, diese Datei in Dein Programmverzeichnis zu legen.

Es ist Dir überlassen, ob Du in diese Datei nur den ConnectionString schreiben lässt oder noch anderes Zeug, was gespeichert werden sollte.

Du kannst auch alle Daten der Datenbanken in Xml ausgeben lassen. Dann bräuchtest Du keine Datenbank mehr ;-)

Bearbeitet von lbm1305
Rechtschreibung verbessert :-)
Geschrieben

mein chef hatte mir das auch schon vorgeschlagen alle daten in eine xml datei zu schreiben

kennst du vll ein gutes buch was mir helfen würde (vorallem für anfänger)

denn wie gesagt ich muss mich damit erstmal beschäftigen.

danke für deine hilfe so langsam komme ich voran ^^

Geschrieben

Ein Buch für Anfänger kann ich nicht empfehlen. Es gibt aber sicherlich ein paar Tutorials zum Thema XML. Eventuell ein paar kleine Beispiele suchen und mal nach programmieren, auch wenn man diese eigentlich kopieren könnte.

Geschrieben

Hallo

ich hatte ähnliches Problem schon mal, habe mir dann die Datenbanken (DB-Name, Server, User, Kennwort) in die Registry geschrieben und kann mit diesen Informationen dann die einzelnen DB`s abrufen.

Gruß Hans-Jörg

Geschrieben
Hallo

ich hatte ähnliches Problem schon mal, habe mir dann die Datenbanken (DB-Name, Server, User, Kennwort) in die Registry geschrieben und kann mit diesen Informationen dann die einzelnen DB`s abrufen.

Gruß Hans-Jörg

Ein Passwort in der Registry? Huuaaahhh

Mittlerweile geht man wieder davon weg, irgend welche Informationen in die Registry zu schreiben. auch wegen möglichen Admin-Kennwortabfragen.

Geschrieben
hey danke das kling interessant wie funktioniert das denn???

mit dem xml kram komme ich nur sehr langsam voran udn auch ncihtw irklich gut

Working with Windows Registry using VB.NET - CodeProject <-- dort ist es ganz gut beschrieben, damit solltest du zurecht kommen.

lbm1305

Mann kann ja das Kennwort auch verschlüsselt ablegen :-) Hatte früher übrigens auch die Informationen (ohne Kennwort natürlich) in XML abgelegt, für mich war es aber dann auf dauer Praktischer es in die Registry zu legen.

Gruß Hans-Jörg

Geschrieben

hallo leute mein programm kann inzwischen eine neue datenbank erstellen aber ich habe es trotz suchens einfach nciht gescheft eine neune tabelle zu erstellen ind dieser datenbank also wenn ihr mir da helfen könntet wäre ichs hcon mal einen schritt weiter

danke ^^

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...