| |
VB.NET - Ein- und UmsteigerDB Connect in Klasse def. | | | Autor: Bartsi | Datum: 23.03.17 15:34 |
| Moin moin,
ich möchte einen Klasse für meinen Datenbankconnect erstellen worin der Connectionsstring drinne ist. Die Zugangsdaten kommen dabei aus einer INI Datei.
Um eine INI Datei auslesen habe ich ein Beispiel gefunden.
Imports System.IO
Imports System.Runtime.InteropServices
Imports System.Text
Public Class INI
<DllImport("kernel32", EntryPoint:="GetPrivateProfileString")>
Public Shared Function Lesen(
ByVal Sektion As String, ByVal Key As String, ByVal StandartVal As String,
ByVal Result As StringBuilder, ByVal Size As Int32, ByVal Dateiname As _
String) As Int32
End Function
End Class Jedoch kann ich diese Klasse nicht IN meiner Connection Klasse aufrufen. Kann mir hier einer einen Tip geben wie ich das hinbekommen kann?
Leider bin ich noch am Anfang meiner VB.NET Erfahrungen.
Danke und Gruß | |
Re: DB Connect in Klasse def. | | | Autor: Manfred X | Datum: 23.03.17 15:49 |
| Hallo!
Die Routine "Lesen" ist in der Klasse "Ini" als Shared deklariert.
Nimm diese Klasse in Dein Projekt auf.
Du kannst die Routine dann überall direkt rufen als Ini.Lesen(Parameter, ....)
Allerdings sind Ini-Dateien veraltet.
Denke über den Gebrauch von Setting-Variablen nach. | |
Re: DB Connect in Klasse def. | | | Autor: Bartsi | Datum: 23.03.17 15:56 |
| Hallo Manfred,
Setting-Variablen hab ich mir angeschaut... werde ich umsetzen.
Jedoch benötige ich natürlich meine INI-Datei für andere "schweinerein"
Was meinst du mit "Nimm diese Klasse in Dein Projekt auf"?
Vielen lieben Dank für deine Hilfe | |
Re: DB Connect in Klasse def. | | | Autor: Manfred X | Datum: 23.03.17 16:11 |
| Wie üblich.
Im Hauptmenü des Visual Studio "Projekt" - "Klasse hinzufügen" und als "INI" benennen.
Den Code der Routine lesen in die neu erstellte Code-Datei kopieren.
Methoden, die as Shared deklariert sind, liegen im Allgemeinteil der Klasse und
gelten unabhängig von Instanzen der Klasse.
Du benötigst deshalb keine Instanz der Klasse INI (keine Erstellung mit Schlüsselwort NEW),
um die öffentliche Shared-Methode zu nutzen.
Anwendungsbeispiel:
Dim result As New System.Text.StringBuilder
Dim re As Integer = INI.Lesen("aaaa", "bbbb", "xcxxx", result, 256, _
"C:\daten\ini.txt") Vorausgesetzt ist die Existenz einer Ini-Datei Ini.txt folgenden Inhalts:
[aaaa]
bbbb=cccc
Zurück kommt re = 4, cccc in Result. | |
Re: DB Connect in Klasse def. | | | Autor: Franki | Datum: 25.03.17 03:17 |
| Hallo Manfred X
Zitat: | |
Allerdings sind Ini-Dateien veraltet.
Denke über den Gebrauch von Setting-Variablen
nach. | |
Du hast zwar recht, aber *.ini Dateien sind im Endeffekt nicht mehr als Textdateien. Der Vorteil liegt darin, dass sie einfach von einem Rechner auf einen anderen übertragen werden können, oder aber über das Netzwerk je nach Bedarf eingelesen werden können.
Die Setting-Variablen erfüllen zwar den gleichen Zweck, sind aber an einen bestimmten Rechner bzw. dessen Registry gebunden. Wenn eine Anwendung nicht an einen bestimmten Rechner seitens des Entwicklers gebunden werden soll oder muss, dann sind *.ini immer noch eine gute Wahl aus Sicht des Users.
Das Thema Datensicherung aus User-Sicht ist da auch einfacher, da nur eine simple Textdatei gesichert werden muss.
Geschwindigkeitsvorteiele bringt das mit der Registry auch nicht, da die *.ini Dateien ja relativ klein sind und es sich da nicht um große Datenmengen handelt die eingelesen oder geschrieben werden müssen.
Settings in der Registry verwende ich eigentlich nur dann, wenn eine Anwendung an einen bestimmten Rechner / User gebunden ist. Dann bietet das "ein wenig" Sicherheitsgewinn, aber mehr ja auch nicht wie wir alle wissen.
Also Fazit: Welchen Vorteil siehst du im Vergleich? Nur weil *.ini "veraltet" ist, ist das ja kein Grund darauf zu verzichten meiner Meinung nach.
Gruß
Frank | |
Re: DB Connect in Klasse def. | | | Autor: Manfred X | Datum: 25.03.17 12:04 |
| Hallo!
Settings-Variable in Net ("My.Settings") haben nichts mit der Windows-Registry zu tun!
Die Vorteile von Setting-Variablen:
- Bearbeitung durch integrierte Net-Klassen (u.a. Geltungsbereich, Typsicherheit)
- Integration in die Visual-Studio-Entwicklungsumgebung (Projekt-Einstellungen)
- Unterstützung der Daten-Bindung von Werten z.B. an Controls
- Speicherung der Werte und Angaben im XML-Format
- Integration der Dateien in Publish-Projekte
Näheres in der Dokumentation. | |
Re: DB Connect in Klasse def. | | | Autor: Franki | Datum: 27.03.17 03:28 |
| Hallo ManfredX
ok, du hast recht, aber wie überträgt man die dann ganz einfach und simpel von einem auf den anderen Rechner, sei es im lokalen Netzwek oder auf einen ganz anderen Rechner?
Die Ini-Dateien kann man einfach per USB-Stick übertragen, von A nach B oder im Extremfall sogar per E-Mail versenden, über eine Cloud transferieren usw. Wenn die Software damit klar kommt (ini Dateien) funtioniert das seit Jahrzehnten problemlos.
Gruß
Frank | |
Re: DB Connect in Klasse def. | | | Autor: Manfred X | Datum: 27.03.17 10:37 |
| Hallo!
Die Frage verstehe ich nicht.
Settings-Dateien sind Bestandteil des entsprechenden Anwendungsprogramms
und werden dort verwaltet.
Der Inhalt von Settings-Dateien ist XML-codiert. Bei Bedarf können solche Dateien
wie jede andere Textdatei kopiert und weitergegeben werden. | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
sevAniGif (VB/VBA)
Anzeigen von animierten GIF-Dateien
Ab sofort lassen sich auch unter VB6 und VBA (Access ab Version 2000) animierte GIF-Grafiken anzeigen und abspielen, die entweder lokal auf dem System oder auf einem Webserver gespeichert sind. Weitere InfosTipp des Monats TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|
|
|
Copyright ©2000-2024 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|