| |
VB.NET - Ein- und UmsteigerBefehle für Datenbank | | | Autor: CarloStein | Datum: 26.04.18 14:30 |
| Liebes Forum!
Ich habe bisher auf VB6 programmiert. Dabei verwendete ich immer als Datenbank DAO!! Weil ich diese Handhabung mit dem Workshop "Einführung in die Datenbankprogrammierung mit VB" Teil 1 bis 3 von Dieter Otter ausgezeichnet erlernen konnte! Nun möchte ich den Umstieg auf .Net versuchen. Da meine gesamten Programme alle mit DAO arbeiten will ich nun an euch die Frage richten ob jemand einen änlichen Workshop für .Net kennt. Oder kann mir jemand sagen, wo ich die Handhabung für DAO (Anlegen der DB zur Laufzeit; Daten speichern; Daten ändern und wieder abspeichern - und eventuelle weitere DB Befehle in .Net finden kann)
Ich weiß das DAO veraltert ist; - aber da alles nur privat für mich und ein paar Freunde ist will ich bei DAO bleiben.
Einerseits ist es auch nicht schlau bei DAO zu bleiben, weil ja so und so alles neu gelernt werden muss...
Bitte gebt mir, sofern ihr einen Workshop oder eine Seite kennt, Bescheid.
Gruß
Karl | |
Re: Befehle für Datenbank | | | Autor: stefan220273 | Datum: 26.04.18 16:49 |
| Ansonsten gibt es hier
https://www.rheinwerk-verlag.de/openbook/
Div. Bücher wo das Thema Datenbanken und ADO.net angerissen wird
Gruss Stefan
Egal wie oft etwas gelöscht wird, das Internet vergisst nie und Menschen lassen sich nicht dauerhaft täuschen!
Beitrag wurde zuletzt am 26.04.18 um 16:51:03 editiert. | |
Re: Befehle für Datenbank | | | Autor: CarloStein | Datum: 26.04.18 18:22 |
| Hallo Stefan,
ich danke dir für deinen Tipp!
Gruß Karl | |
Re: Befehle für Datenbank | | | Autor: CarloStein | Datum: 26.04.18 18:36 |
| Nochmals Hallo!
Ja ich habe mir schon ein Buch im Internet besorgt (leider ohne es durchzublättern) mit dem Titel:
"Visual Basic 2012 Grundlagen und Profiwissen" musste aber feststellen, dass das Thema Datenbank
darin gar nicht vorkommt! Es wird nur der Umgang mit "normalen" Dateien beschrieben.
Ich habe mir nicht vorstellen können, dass das Thema Datenbank nicht zum "Profiwissen" gehört!
Und dabei hat das Buch über 1000 Seiten! - Schade -
Sehr hilfreich und auch für Anfänger verständlich, wäre ein Workshop wie der von Dieter!
Trotzdem recht herzlichen Dank für deine Hilfe.
Gruß
Karl | |
Re: Befehle für Datenbank | | | Autor: Manfred X | Datum: 27.04.18 08:39 |
| Hallo!
Beispiele für Anwendung der ADO.Net-Klassen findest Du im entsprechenden Forum.
Entscheidend ist, daß Du Dich gedanklich umstellst.
Bei ADO.Net wird ein reduziertes Abbild der Datenbank in den Hauptspeicher
geladen und dort bearbeitet.
Für die Erstellung und Nutzung gibt es Visual-Studio-Assistenten.
Üblich ist es, die relationale Datenbank in ein Objektmodell zu mappen, d.h.
die Bearbeitung erfolgt auf die übliche objekt-bezogene (stark typisierte) Weise. | |
Re: Befehle für Datenbank | | | Autor: CarloStein | Datum: 27.04.18 12:03 |
| Hallo Manfred!
Danke für deine Hinweise!
Das mir die Umstellung so leicht fallen wird - davon bin ich weniger überzeugt!
Wie auch immer, einen Versuch ist es alle mal wert...
LG
Karl | |
Re: Befehle für Datenbank | | | Autor: viktor8 | Datum: 02.05.18 10:20 |
| Hallo Carlo,
anbei eine kurze Anleitung, wie ich das handhabe.
Auch ich bin von DAO umgestiegen und habe mich lange geplagt.
Ist natürlich nur eine erste Hilfe:
____________________________________________________________________________________________________
Variablen für eine Datenbank
Dim db As String, dbalt As String, cn As New OleDb.OleDbConnection(), sqlabfrage As String, da As OleDb.OleDbDataAdapter, ds As DataSet
Verbindung zu einer Datenbank
' Verbindung zu Access, andere Connectionstrings unter: https://www.connectionstrings.com/
Beispiel:
db = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & IO.Directory.GetDirectoryRoot(Application.StartupPath) & "[Verzeichnis]\[Name der Datenbank] & ".mdb"
IO.Directory...... bedeutet, Laufwerk und Verzeichnis, wo die Anwendung (.exe) liegt.
Zugriff:
cn.ConnectionString = db
sqlabfrage = "Select * from [Name der Tabelle] order by [Name der Spalte]"
Datenabfrage:
Dim da As New OleDb.OleDbDataAdapter(sqlabfrage, cn)
ds = New DataSet
Try
da.Fill(ds) ' Man kann dem Dataset auch einen Namen geben, wenn benötigt
Catch ex As OleDb.OleDbException
' Ich gebe hier die Fehlermeldung im Klartext in einer Messagebox aus und gleichzeitig in die Zwischenablage, kann jedoch anders gelöst werden
Dim st As New StackTrace(True)
st = New StackTrace(ex, True)
strFehlerzeile = "Fehler im Formular: " & strFormular '& Zeile: " & st.GetFrame(0).GetFileLineNumber().ToString
strFehlermeldung = "Fehlernummer: " & Err.Number & vbCrLf & ex.Message & vbCrLf & strFehlerzeile & vbCrLf & strNachricht
MsgBox(strFehlermeldung, MsgBoxStyle.Critical)
Clipboard.SetText(strFehlermeldung) ' Fehlermeldung wird in die Zwischenablage geschrieben
-> hier die Maßnahmen für die Fehlerbehandlung
End Try
' Jetzt ist das Dataset mit den Daten gefüllt und kann ausgelesen werden
' Achtung!!!! die Daten beginnen ab Row 1, daher bis .Rows.Count - 1
For x = 0 To ds.Tables(0).Rows.Count - 1
Irgendeine Combobox.Items.Add(ds.Tables(0).Rows(x).Item("Name der Spalte").ToString)
oder
Irgendeine_Variable=ds.Tables(0).Rows(x).Item("Name der Spalte").ToString
cmbMitgliedsart.Text = cmbMitgliedsart.Items(0).ToString
cmbMitgliedsbeitrag.Text = cmbMitgliedsbeitrag.Items(0).ToString
Next
anderes Beispiel:
sqlabfrage = "Select * from [Name der Tabelle] where [Name der Spalte] = " irgendeine Variable, z.B.: Kundennummer
With ds.Tables(0).Rows(0) ' Das Dataset beinhaltet alle relevanten Daten
' Adressdaten
txtKundennummer.Text = .Item("Kundennummer").ToString
txtNachname.Text = .Item("Nachname").ToString
' alle weiteren Felder ebenso abfragen
endwith
Bei Beendigung und wenn nicht weiter benötigt:
ds.tables.clear
cn.close
_______________________________________________________________________________________________________ | |
Re: Befehle für Datenbank | | | Autor: CarloStein | Datum: 02.05.18 14:24 |
| Hallo Viktor,
danke für deine Tipps!
Mach mich ans Lernen!
Gruß
Karl | |
Re: Befehle für Datenbank | | | Autor: viktor8 | Datum: 05.05.18 10:16 |
| Hallo Carlo,
aber bitte vergiß nicht, zuvor unter Projekt->Verweis hinzufügen, die Verweise für den Datenzugriff hinzuzufügen:
z.B.: Microsoft ActiveX Data Objects 6.1 Library
und weitere, welche Du für Deine Anwendung noch brauchen solltest
(ich zum Beispiel für die Übergabe an Excel und Outlook, usw.....)
Microsoft Office 16.0 Object Library
Und dann in Deinem Formular oberhalb von Public Class angeben, welche Verweise Du in diese Formular benötigst.
Beispiel:
Imports System.IO <- ermöglicht Lesen und Schreiben von Dateien und Datenstreams z.B.: Textdateien)
Imports System.Data <- Verweis für den Datenzugriff unter ADO
Public Class frmDeinFormularname
......Variablen dimensionieren
......Klassen
......Anweisungen Sub ... End Sub
End Class
Viel Erfolg
Wenn Du Fragen hast, helfe ich Dir gerne, so gut ich kann.[u][u][u] | |
Re: Befehle für Datenbank | | | Autor: CarloStein | Datum: 05.05.18 11:05 |
| Hallo Vitor!
Danke für den Hinweis!
Das ich im Fall der Fälle Fragen an dich stellen darf, freut mich besonders.
Aber derzeit habe ich nach eingehender Überlegung das Projekt .Net mit ADO wieder
zurückgelegt! Der Unterschied zu VB6 und DAO ist einfach zu groß; würde daher zu viel
meiner Zeit fürs Lernen in Anspruch nehmen. Bis ich bei .Net dort bin wo ich heute in
VB6 stehe - kann ich auch schon in Pension gehen...
Hab mir den Umstieg einfacher vorgestellt!
Trotzdem nochmals recht herzlichen Dank für deine Hilfe und dein großzügiges Angebot!
Gruß
Karl | |
| 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 |
|
|
sevISDN 1.0
Überwachung aller eingehender Anrufe!
Die DLL erkennt alle über die CAPI-Schnittstelle eingehenden Anrufe und teilt Ihnen sogar mit, aus welchem Ortsbereich der Anruf stammt. Weitere Highlights: Online-Rufident, Erkennung der Anrufbehandlung u.v.m. Weitere InfosTipp des Monats Neu! sevPopUp 2.0
Dynamische Kontextmenüs!
Erstellen Sie mit nur wenigen Zeilen Code Kontextmenüs dynamisch zur Laufzeit. Vordefinierte Styles (XP, Office, OfficeXP, Vista oder Windows 8) erleichtern die Anpassung an die eigenen Anwendung... Weitere Infos
|