Umstieg von VB6 auf vb.Net mit Access Datenbank

16/10/2009 - 12:06 von Christoph Schmitt | Report spam
Hallo Allerseits,

ich habe mich in den ketzten Wochen zunàchst grundsàtzlich mit vb.Net
vertraut gemacht und möchte nun ein konkretes Projekt, welches als VB6
Datenbankanwendung (MS-Access) vorhanden ist, migrieren.

Nun "stolpere" ich zunàchst mal über ADO.Net. Ich weiss im Moment noch
nicht, ob das Backend nach wie vor Acess sein wird oder ob gleich auf SQL
Server umgestellt wird.

In meinem bisherigen Projekt habe ich mit DAO gearbeitet und Daten fast
immer über Recordsets bearbeitet. Also z.B. Maskenfelder zur Laufzeit mit
den Werten aus dem Recordset gefüllt. Da DAO unter VB.Net wohl nicht die
beste Wahl ist (wenn es denn überhaupt noch geht), tue ich mich schwer zu
entscheiden ob ADO oder ADO.Net nun die richtige Wahl ist. Mit ADO habe ich
bereits viele Projekte realisiert und kenne mich gut aus.

ADO.Net verfolgt aber wohl eine grundlegend andere Philosophie der
Datenkommunikation.

Meine Frage an Euch:
Was setzt Ihr in Datenbankanwendungen vorzugsweise ein ADO oder ADO.Net ?
Welche Punkte sind bei ADO.Net z.B. in einer Mehrbenutzerumgebung kritisch?

Vielen Dank für jede Initialzündung, die mir den Weg weist!
Viele Grüße
Christoph
 

Lesen sie die antworten

#1 Peter Götz
16/10/2009 - 12:39 | Warnen spam
Hallo Christoph,

ich habe mich in den ketzten Wochen zunàchst grundsàtzlich
mit vb.Net vertraut gemacht und möchte nun ein konkretes
Projekt, welches als VB6 Datenbankanwendung (MS-Access)
vorhanden ist, migrieren.



Dieses "migrieren" solltest Du mal etwas konkreter
definieren.

Um die Möglichkeiten des .net-Frameworks wirklich nutzen
zu können, dürfte ein vollstàndiges Neukonzept für Dein
Programm vorteilhafter sein und vermutlich auch weniger
Aufwand bedeuten.

Nun "stolpere" ich zunàchst mal über ADO.Net. Ich weiss
im Moment noch nicht, ob das Backend nach wie vor
Acess sein wird oder ob gleich auf SQL Server umgestellt
wird.



Es ist durchaus möglich, eine Anwendung so zu konzipieren,
dass sie mit verschiedenen DBS, also z.B. mit Access.mdb
und mit SqlServer arbeiten kann.

In meinem bisherigen Projekt habe ich mit DAO gearbeitet
und Daten fast immer über Recordsets bearbeitet.



Bei DAO arbeitest Du üblicherweise mit serverseitigem
Cursor, also verbindungsbehaftet.
ADO.net arbeitet grundsàtzlich verbindungslos, es gibt also
keine serverseitigen Cursor.

Das was bei DAO und ADO Recordsets waren, kannst Du
bei ADO.net in etwa mit DataTables vergleichen, aber
wirklich nur "in etwa".

Also z.B. Maskenfelder zur Laufzeit mit den Werten aus dem
Recordset gefüllt.



Du kannst Steuerelemente in VB.net recht einfach an
DataTables resp. DataViews binden, aber ebenso
die Inhalte von Controls, wie z.B. Textboxen per konkretem
Code aus DataTables füllen.

Da DAO unter VB.Net wohl nicht die beste Wahl ist


(wenn es denn überhaupt noch geht),

Prinzipiell gehen würde es schon, aber Du solltest das
ganz sicher nicht tun.


tue ich mich schwer zu entscheiden ob ADO oder
ADO.Net nun die richtige Wahl ist.



Auch von ADO solltest Du in einem auf .net-Framework
aufbauenden Projekt besser die Finger lassen, obwohl
auch das möglich wàre.


Mit ADO habe ich bereits viele Projekte realisiert und
kenne mich gut aus.



Dann sollte Dir ja zumindest schon mal die verbindungslose
Arbeitsweise gelàufig sein.

ADO.Net verfolgt aber wohl eine grundlegend andere
Philosophie der Datenkommunikation.

Meine Frage an Euch:
Was setzt Ihr in Datenbankanwendungen vorzugsweise ein
ADO oder ADO.Net ?



Für eine Neuentwicklung ADO.net.

Welche Punkte sind bei ADO.Net z.B. in einer
Mehrbenutzerumgebung kritisch?



Das kommt wie bei ADO auf das verwendete DBS an.
Bei einer Access.mdb musst Du Dich wie bei ADO
vollstàndig um die Erkennung und Auflösung von
Mehrbenutzerkonflikten selbst im eigenen Code kümmern.
Bei DBS wie SqlServer oder ORACLE wird Dir in
Sachen Mehrbenutzerkonflikte einiges vom DBS abgenommen.


Vielen Dank für jede Initialzündung, die mir den Weg weist!



Schau Dir mal die Beispiele unter

www.gssg.de -> Visual Basic -> VB.net

in der Rubrik Datenbank an. Es gibt dort welche, die mit einer
Access.mdb arbeiten und auch solche für den SqlServer.

Den Umgang mit DataTable, DataView, CurrencyManager
usw. siehst Du in den Beispielen unter www.gssg.de mit dem
DataGridView (Rubrik DataGridView) sowie in den Beispielen
der Rubrik DataTable / DataView / CurrencyManager.

Mit den genannten Beispielen solltest Du schon ein ganz
gutes Gefühl dafür bekommen, was für Dich bzw. Deine
Aufgabenstellung von Interesse ist.

Gruß aus St.Georgen
Peter Götz
www.gssg.de (mit VB-Tipps u. Beispielprogrammen)

Ähnliche fragen