finished ADO
This commit is contained in:
parent
1a6a08e3ef
commit
ca962ced6e
171
readme.md
171
readme.md
|
@ -6,28 +6,33 @@ Theorie:
|
|||
1. Welche Bedeutung hatte die Einführung grafischer Benutzeroberflächen für die Verbreitung von PCs?
|
||||
→ Die PCs wurden damit für die Massen eifach zu benutzen und verbreiteten sich deshalb sehr gut seit es GUIs gibt.
|
||||
|
||||
|
||||
2. Nennen Sie drei Merkmale von Windowsprogrammen!
|
||||
|
||||
→ Oft mit .NET, C++, C# programmiert
|
||||
→ Benutzen die WindowsAPI
|
||||
→ Alle Benutzereingaben werden zuerst von Windows abgefangen und dann an das Programm gesendet für das es bestimmt war
|
||||
|
||||
|
||||
3. Erläutern Sie den Unterschied zwischen einem Programm und einem Prozess!
|
||||
|
||||
-> Ein Prozess kann bestandteil eines Programms sein, es ist die bestimmte Aufgabe die ausgeführt wird
|
||||
-> Ein Programm ist eine Passive Entität, z.b. eine Ausführbare Datei
|
||||
-> Ein Programm ist eine Bündelung vieler Prozesse um Funktionalität zu bieten
|
||||
|
||||
|
||||
4. Was versteht man unter einer „Instanz eines Programms“?
|
||||
|
||||
-> Ein Programm das gerade ausgeführt wird, wenn sie dassselbe Programm nochmal öffnen (in einem neuen Fenster) dann ist dies eine zweite Instanz desselben Programmes.
|
||||
|
||||
|
||||
5. Beschreiben Sie die Aufgaben des Windows Betriebssystems, wenn eine neue Anwendung gestartet wird!
|
||||
-> zuerst wird in WinMain eine Fensterklasse während der Initialisierung erstellt
|
||||
-> Fensterklasse (als Structure vordefiniert) muss mit Infos zum Fenster und zu der Fensterfunktion gefüllt werden
|
||||
-> Fenster wird mit CreateWindow() erzeugt und mit ShowWindow() angezeigt
|
||||
-> UpdateWindow() updatet die anzeige
|
||||
|
||||
|
||||
6. Beschreiben Sie die Aufgaben des Windows Betriebssystems, wenn eine Anwendung geschlossen wird!
|
||||
-> Benutzereingabe bekommt einen Eintrag in der Application-Queue
|
||||
-> Message Loop verarbeitet die Eingabe
|
||||
|
@ -40,15 +45,18 @@ Theorie:
|
|||
|
||||
-> Weil jeder Prozess seinen eigenen „Speicherraum“ besitzt und nicht auf Speicher eines Anderen Prozesses zugreifen kann (Sandbox)
|
||||
|
||||
|
||||
8. Welche Vorteile bieten multithreadingfähige Systeme?
|
||||
|
||||
-> Abarbeitung mehrer Prozesse „gleichzeitig“
|
||||
-> „schneller“ (Effektiver Einsatz der CPU)
|
||||
-> Schnelle (low-latency) Kommunikation zwischen mehreren Prozessen eines Programms
|
||||
|
||||
|
||||
--> https://docs.oracle.com/cd/E19455-01/806-3461/6jck06gqj/index.html
|
||||
--> https://zone.ni.com/reference/de-XX/help/371361R-0113/lvconcepts/benefits_multi_apps/
|
||||
|
||||
|
||||
9. Unterschied zwischen kooperativem und Preemptivem Multitasking?
|
||||
|
||||
Kooperatives Multitasking:
|
||||
|
@ -57,9 +65,11 @@ Theorie:
|
|||
Preemptives Multitasking:
|
||||
-> System kann jederzeit (nach Ausführung jedes CPU-Befehls) die Kontrolle über die CPU entziehen.
|
||||
|
||||
|
||||
10. Warum können „abgestürzte“ DOS-Programme das ganze OS Lahmlegen?
|
||||
-> wegen kooperativem Multitasking dass die volle Kontrolle der CPU an den Prozess abgibt.
|
||||
|
||||
|
||||
11. Abarbeitung einer Tastatureingabe über die Message Loop:
|
||||
|
||||
1. User drückt Taste
|
||||
|
@ -69,12 +79,14 @@ Theorie:
|
|||
5. Windows wird angewiesen, die Fensterfunkton aufzurufen
|
||||
6. Fensterfunktion reagiert auf die Tastatureingabe
|
||||
|
||||
|
||||
12. Welche Aufgabe erfüllt die Fensterfunktion WinProc()?
|
||||
|
||||
Eine Art Event-Handler des Fensters der die eingehenden Botschaften empfängt und verarbeitet
|
||||
-> Z.B. die Botschaft WM_DESTROY -> Fenster schließen
|
||||
-> jedes Fenster definiert seine eigene Fensterfunktion
|
||||
|
||||
|
||||
13. Beschreiben Sie den grundsätzlichen Aufbau einer Fensterfuktion unter Win32?
|
||||
|
||||
-> Einfach nur ein switch-case mit allen benötigten Botschaften die anfallen können bzw für das Programm wichtig sind.
|
||||
|
@ -93,11 +105,13 @@ Theorie:
|
|||
- TAPI - Telephone API (Fax, ...)
|
||||
- COM-API - Für den zugriff auf com schnittstellen
|
||||
|
||||
|
||||
16. Welche Bedeutung hat die API für den Programmierer?
|
||||
|
||||
- Eine API bietet den zugriff auf bestimmte vorgefertigte Funktionen an
|
||||
- z.b. die coinAPI zum abgreifen von Kryptowährungs-Daten
|
||||
|
||||
|
||||
17. Erläutern Sie, welches Wissen ein Windows - Anwendungsentwickler zusätzlich zur Kenntnis der Programmiersprache benätigt
|
||||
|
||||
- Windows API
|
||||
|
@ -129,6 +143,9 @@ Theorie:
|
|||
- hbrBackground Hintergrundfarbe des Fensters
|
||||
- lpszClassName Pointer zum Klassennamen oder einem Alias dafür
|
||||
|
||||
|
||||
|
||||
|
||||
**Grundlagen des .NET Frameworks**
|
||||
21. Zweck der Common Language Runtime
|
||||
|
||||
|
@ -139,11 +156,13 @@ Theorie:
|
|||
- JIT Compilation
|
||||
- Exception Handling
|
||||
|
||||
|
||||
22. Wozu dient Garbage Collection
|
||||
|
||||
- löscht nicht mehr benötigte Objekte/Zeiger zur Laufzeit
|
||||
-> befreit Speicher vom Prozess und beugt somit Memory Leaks vor
|
||||
|
||||
|
||||
23. Weg vom Quellcode zur Ausführung in .NET
|
||||
|
||||
- Umwandlung des Code in MSIL
|
||||
|
@ -153,7 +172,8 @@ Theorie:
|
|||
Logische Schritte:
|
||||
Compilation ---> Execution
|
||||
Source-Code -> Language-Compiler -> MSIL + Metadaten -> JIT Compiler -> Native Code
|
||||
|
||||
|
||||
|
||||
24. Zweck der MSIL hinsichtlich hinsichtlich Programmiersprachen übergreifender Entwicklung von Software
|
||||
|
||||
Um möglichst viele Programmiersprachen/Techniken zu unterstützen wird der Code in MSIL als Zwischen-
|
||||
|
@ -163,7 +183,8 @@ Theorie:
|
|||
für ihre Programmiersprache zu erstellen
|
||||
- Somit können in der Theorie alle Programmiersprachen, welche die Vorgaben von
|
||||
MSIL (definiert in CLR) einhalten
|
||||
|
||||
|
||||
|
||||
25. Unterschied Klassenbezeichnung und Namensraum
|
||||
|
||||
Klassenbezeichnung:
|
||||
|
@ -177,6 +198,7 @@ Theorie:
|
|||
zusammenfasst, um im Code Struktur und Ordnung zu gewährleisten. Diese Namensräume können
|
||||
somit importiert werden um gewisse Teile des Codes voneinander abzugrenzen.
|
||||
|
||||
|
||||
26. Zugriff auf eine bestimmte Klasse in einem Namensraum
|
||||
|
||||
- Anhand des Schlüsselworts "using" wird ein Namespace im Code eingebunden
|
||||
|
@ -188,21 +210,25 @@ Theorie:
|
|||
|
||||
Instanziierung der Klasse als Objekt: File datei = new File();
|
||||
|
||||
|
||||
27. Basisklasse aller .NET Klassen
|
||||
|
||||
- Object
|
||||
|
||||
|
||||
28. Zwei Arten von Datentypen unter .NET
|
||||
|
||||
- String
|
||||
- Ganzzahl (int)
|
||||
|
||||
|
||||
29. Unterschied zwischen Reference und Value Types
|
||||
|
||||
- Ein value Type ist ein Datentyp, der die Werte direkt speichert
|
||||
- Ein Referenztyp speichert nicht direkt Werte, sondern speichert die Adresse des Wertes im Arbeitsspeicher
|
||||
z.B. Pointer
|
||||
|
||||
|
||||
30. Was ist Boxing/Unboxing
|
||||
|
||||
- Beim Boxing wird ein Child-Objekt in sein Parent-Objekt umgewandelt
|
||||
|
@ -213,12 +239,14 @@ Theorie:
|
|||
object o = i; // boxing
|
||||
int j = (int)o; // unboxing
|
||||
|
||||
|
||||
31. Zweck der CLS
|
||||
|
||||
- Die CLS definiert die Regeln die von jeder Sprache im .NET Framework befolgt werden müssen
|
||||
- Die Sprachen, die CLS befolgen sind CLS Compliant
|
||||
-> CLS ermöglicht die Integration und Interoperabilität mehrerer Programmiersprachen im selben Projekt
|
||||
|
||||
|
||||
32. Arten von Assemblies
|
||||
|
||||
- Private assembly (.dll and .exe are at the same place)
|
||||
|
@ -227,27 +255,33 @@ Theorie:
|
|||
- Distributed assembly (in different parts)
|
||||
- Satellite assembly (on the network)
|
||||
|
||||
|
||||
33. Was ist der Global Assembly Cache
|
||||
|
||||
- Der GAC ist ein Verfahren des .NET Frameworks um Versionskonflikte in Programmen vorzubeugen
|
||||
- Speichert alle Assemblies mit Name, Versionsnummer und einzigartigem Token
|
||||
-> das gleiche Assembly kann mehrere Male gespeichert werden
|
||||
|
||||
|
||||
34. Welche Informationen sind in einer Assembly gespeichert
|
||||
|
||||
- Name
|
||||
- Versionsnummer
|
||||
- Token
|
||||
|
||||
|
||||
35. Was ist Side By Side Installation
|
||||
|
||||
- Mehrere Installationen des selben Assemblies
|
||||
|
||||
|
||||
36. Was ist Probing im .NET Framework
|
||||
|
||||
- Gibt Anwendungen das Basisberzeichnis für das Common Language Runtime an, das beim Laden des
|
||||
Assembly gesucht werden soll
|
||||
|
||||
|
||||
|
||||
**ADO.NET**
|
||||
|
||||
37. Connected <> Disconnected Modell
|
||||
|
@ -265,6 +299,139 @@ Theorie:
|
|||
- mehr Auslastung beim Client, da Daten im Arbeitsspeicher
|
||||
- Benutzen von DataSet beim Datenbankzugriff
|
||||
|
||||
|
||||
38. DataProvider und DataSet aus ADO.NET
|
||||
|
||||
DataProvider:
|
||||
- wird zum Herstellen der Verbindung mit einer Datenbank
|
||||
- führt Befehle auf der Datenbank aus
|
||||
- wird im connected Modell benutzt um Daten aus der Datenbank zu lesen/schreiben
|
||||
|
||||
DataSet:
|
||||
- Kommt beim Disconnected Modell zum einsatz
|
||||
- Bildet die Datenbank ab
|
||||
- Dient als Lokaler Speicher der Datenbank auf dem Client
|
||||
- ist als Cache für die Daten zu betrachten
|
||||
|
||||
|
||||
39. Nachteile der OLE-DB und ODBC.NET DataProvider
|
||||
|
||||
- Langsamer als native Datenbanktreiber
|
||||
- benötigt mehr CPU-Ressourcen
|
||||
- weitere Schicht zwischen Programm und Datenbank -> höhere Fehlerwarscheinlichkeit
|
||||
- Viele OLE und ODBC Treiber in .NET stammen aus der COM zeit und sind veraltet
|
||||
|
||||
|
||||
40. Vor- und Nachteile des Connected- bzw Disconnected Modells
|
||||
|
||||
Connected:
|
||||
Vorteile:
|
||||
- Daten sind immer aktuell
|
||||
- Einfachere Wartung
|
||||
Nachteile:
|
||||
- Mehr Netzwerkauslastung beim Server
|
||||
- Ständige Netzwerkverbindung erforderlich
|
||||
|
||||
|
||||
Disconnected:
|
||||
Vorteile:
|
||||
- Keine Ständige Netzwerkverbindung erforderlich
|
||||
- Weniger Netzwerkauslastung
|
||||
- Skalierbarkeit und Performance
|
||||
Nachteile:
|
||||
- Daten sind nicht aktuell
|
||||
- Daten müssen beim Client im Arbeitsspeicher abgelegt werden
|
||||
- Konkurrierende Zugriffe
|
||||
|
||||
|
||||
41. Einsatzbeispiele von Disconnected- und Connected Modells:
|
||||
|
||||
Connected:
|
||||
- Warenwirtschaftssystem
|
||||
- Büro/Office Umgebungen
|
||||
|
||||
Disconnected:
|
||||
- Smartphone Apps
|
||||
- Außendienstmitarbeiter
|
||||
|
||||
***MANU DU SPASST***
|
||||
|
||||
42. Aufgaben des Connection Objects, Command Objects, Parameter Objects und des DataReader Objects
|
||||
|
||||
Connection Object:
|
||||
- stellt eindeutige Verbindung/Sitzung zum Datenbankserver/Datenquelle dar
|
||||
- verbindung mit Server
|
||||
|
||||
Command Object:
|
||||
- eine SQL-Anweisung oder gespeicherte Prozedur die in einer Datenbank ausgeführt werden soll
|
||||
|
||||
Parameter Object:
|
||||
- sql-injection mitigation
|
||||
- damit kann man parameterisierte Abfragen erstellen die WHERE statements obsolet machen
|
||||
|
||||
DataReader Object:
|
||||
- stellt Verfahren zum lesen eines vorwärtsstreams von Zeilen in einer Datenbank bereit
|
||||
|
||||
|
||||
43. Einschränkungen beim benutzen eines DataReaders:
|
||||
|
||||
- readOnly / forwardOnly zugriff
|
||||
- nur für schnelles einmaliges Lesen geeignet
|
||||
|
||||
|
||||
44. Zusammenarbeit von DataAdapter, DataSet und DataTables im Disconnected Modell:
|
||||
|
||||
- DataAdapter verfügt über select command - Object welches Daten aus der DB holt
|
||||
- die Fill-Methode des DataAdapter erwartet als Parameter ein DataSet und einen Namen für das zu erstellende DataTable Objects
|
||||
- erzeugung im jeweils übergebenen DataSet ein DataTable Object
|
||||
- beim Update der DB werden je nach Änderung das INSERT, UPDATE oder DELETE command des DataAdapters aufgerufen
|
||||
- DataAdapter stellt das Bindeglid zwischen DataSet Tabelle und DB dar
|
||||
- pro DataTable eines DataSets gibt es idR. einen DataAdapter
|
||||
|
||||
|
||||
45. Die 4 Command Objecte eines DataAdapters
|
||||
|
||||
SELECT Command-Object:
|
||||
- lesen von Daten aus der DB
|
||||
UPDATE Command-Object:
|
||||
- ändern von Datensätzen
|
||||
INSERT Command-Object:
|
||||
- einfügen neuer Datensätze
|
||||
DELETE Command-Object:
|
||||
- löschen von Daten
|
||||
|
||||
|
||||
46. Collections und Objekte eines DataSets
|
||||
|
||||
- Tables
|
||||
- Columns
|
||||
- Constraints
|
||||
- Rows
|
||||
- Relations
|
||||
|
||||
|
||||
|
||||
***SEE SHARP PROGRAMMIERUNG***
|
||||
|
||||
47. Abfangen von Ereignissen unter C#
|
||||
|
||||
- in der WndProc Methode muss ein Handler erstellt werden
|
||||
-
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Legende:
|
||||
|
||||
- MSIL : Microsoft Intermediate Language (auch CIL - Common Intermediate Language)
|
||||
|
|
Loading…
Reference in New Issue