vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Zippen wie die Profis!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
DB 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ß
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

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

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

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