Client/Server- Datenbank- Programmierung

Ähnliche Dokumente
Visual C++ Windows-Programmierung mit den MFC. Frank Budszuhn. ADDISON-WESLEY An imprint of Pearson Education

Rumen Stainov. IPnG. Das Internet-Protokoll der nächsten Generation

Frank Budszuhn Thomas Reichel. Visual C Windows-Programmierung mit den MFC ADDISON-WESLEY. An imprint of Addison Wesley Longman, Inc.

Hyperlink-Erstellung in InDesign für

Delphi 6 Datenbankprogrammierung

Arbeiten mit UMLed und Delphi

ArcObjects-Programmierung mit Delphi. Marko Apfel, Team Entwicklung

Datenmanagement in Android-Apps. 16. Mai 2013

Einführung in die Programmierung

Office Objektmodell (1)

Übung 7 DBMS-FUNKTIONALITÄTEN UND DATENIMPORT

NET.Compact Framework

Inhaltsverzeichnis. 1 Hallo 13

Step by Step Softwareverteilung unter Novell. von Christian Bartl

Unauthorized Windows 95

jetzt lerne ich PHP 5 & MySQL 4.1 Der schnelle Einstieg in die objektorientierte

Office in Java. 2. Info-Point Urs Frei

Einführung in. Logische Schaltungen

Fragenkatalog zum Kurs 1666 (Datenbanken in Rechnernetzen) Kurstext von SS 96

Effiziente Administration Ihrer Netzwerkumgebung

Inhalt. Vorbemerkungen... 1

Delphi 3.0 Datenbankprogrammierung

Allgemeines zu Datenbanken

Was leistet ein Content Management System?

Kontakt neu erstellen (Privatkontakt) :

Delphi 6 Datenbankprogrammierung

In diesem Thema lernen wir die Grundlagen der Datenbanken kennen und werden diese lernen einzusetzen. Access. Die Grundlagen der Datenbanken.

Kapitel 4 Die Datenbank Kuchenbestellung Seite 1

Andreas Heuer Gunter Saake Kai-Uwe Sattler. Datenbanken. kompakt

Zählen von Objekten einer bestimmten Klasse

Implementieren einer Microsoft SQL Server 2005-Datenbank M4739

ÜBUNG. Einführung in das IT- Projektmanagement WS 2012/13. Dr. The Anh Vuong

Lizenzierung von StarMoney 10 bzw. StarMoney Business 7 durchführen

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Anbindung des Onyx Editors an das Lernmanagementsystem OLAT Anwendungsdokumentation

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Übung - Datenmigration in Windows Vista

ID VisitControl. Dokumentation Administration Equitania Software GmbH cmc Gruppe Seite 1

White Paper. Konfiguration und Verwendung des Auditlogs Winter Release

Um die Rücklagen ordnungsgemäß zu verbuchen, ist es wichtig, Schritt-für-Schritt vorzugehen:

Änderungen im Vertrags-Manager

Interoperabilität mit Office-Anwendungen (1)

SQL Server 2005 Der schnelle Einstieg

Downloadfehler in DEHSt-VPSMail. Workaround zum Umgang mit einem Downloadfehler

E-Services mit der Web-Service-Architektur

LDAP Konfiguration nach einem Update auf Version 6.3 Version 1.2 Stand: 23. Januar 2012 Copyright MATESO GmbH

Stellvertretenden Genehmiger verwalten. Tipps & Tricks

5. Übung: PHP-Grundlagen

CartCalc FAQ (frequently asked questions) häufige Fragen zu CartCalc

SQL - Übungen Bearbeitung der Datenbank Personal (1)

Neuerungen der Ck-Schnittstelle in dms.net Rev. 4895

Workflows verwalten. Tipps & Tricks

Webseiten entwickeln mit ASP.NET

Informatik, Mathematik und Naturwissenschaften

Arbeitsgruppe Multimedia DLmeta in echten Anwendungen

Eigenen WSUS Server mit dem UNI WSUS Server Synchronisieren

Wie funktioniert das WWW? Sicher im WWW

Um DynDNS zu konfigurieren, muss ausschließlich folgendes Menü konfiguriert werden:

Eine eigene Seite auf Facebook-Fanseiten einbinden und mit einem Tab verbinden.

Vor- und Nachteile speicheroptimierter Tabellen

BILDARCH LAN. 1 Einleitung. 2 Installation Übersicht. Server

Übersicht. Nebenläufige Programmierung. Praxis und Semantik. Einleitung. Sequentielle und nebenläufige Programmierung. Warum ist. interessant?

Monitore. Klicken bearbeiten

2 Datenbanksysteme, Datenbankanwendungen und Middleware... 45

Computeranwendung und Programmierung (CuP)

Grundlagen von Datenbanksystemen

Umleiten von Eigenen Dateien per GPO

Beispiel des Zusammenführens der APV- Tabellen Stammdaten und Verlaufsdaten mithilfe von Access

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services

Grundbegriffe der Informatik

Java: Vererbung. Teil 3: super()

BGP-Alarmsystem. Gunnar Bornemann Diplomarbeit Lehrstuhl für Netzwerkarchitekturen Technische Universität München

ELSTER elektronische Steuererklärungen für Deutschland

MSXFORUM - Exchange Server 2003 > SMTP Konfiguration von Exchange 2003

Entwurfsbeschreibung der Softwarestudie

Von ODBC zu OLE DB. Neue Möglichkeiten der Datenintegration. Harald Gladytz, Team Vertrieb ESRI Niederlassung Leipzig

Microsoft FrontPage 98

4. BEZIEHUNGEN ZWISCHEN TABELLEN

Die Entwicklung eines Glossars (oder eines kontrollierten Vokabulars) für ein Unternehmen geht üblicherweise in 3 Schritten vor sich:

[DvBROWSER] Offline-Viewer für [DvARCHIV] und [DvARCHIVpersonal] Version 2.2

Artenkataster. Hinweise zur Datenbereitstellung. Freie und Hansestadt Hamburg. IT Solutions GmbH. V e r s i o n

XINDICE. The Apache XML Project Name: J acqueline Langhorst blackyuriko@hotmail.de

Einführung in die Java- Programmierung

desk.modul : ABX-Lokalisierung

Unified Communication Client Installation Guide

Klausur GUI-Entwicklung WS10/11 1.Termin

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee Berlin Tel.:+49(0) Fax.:+49(0)

Aktualisierung des Internet-Browsers

TimeMachine. Time CGI. Version 1.5. Stand Dokument: time.odt. Berger EDV Service Tulbeckstr München

Datenbank- Programmierung mit InterBase

Konfiguration des Novell GroupWise Connectors

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

ecaros2 - Accountmanager

Transkript:

Reinhold Maurus/Ralf Hofer Client/Server- Datenbank- Programmierung mit Delphi 3 Für Delphi 1, 2 &3 SQL-Programmierung & Datenbankkomponenten Web-Server-Erweiterung ActiveX, DCOM, Multi-Tier An International Thomson Publishing Company Bonn Albany Belmont Boston Cincinnati Detroit Johannesburg London THOMSON Madrid Melbourne Mexico City New York Paris Singapore Tokyo PUBLISHING

i Vorwort 13 1 Das Orakel von Delphi 3 - Was ist neu? 17 1.1 Packages 17 1.2 ActiveX-Controls 17 1.3 ActiveForms 18 1.4 Ein noch schnelleres RAD 18 1.5 Datenbankzugriffe 18 1.6 Internet 19 1.7 Business Object Broker 19 1.8 Business Insight 19 2 Arbeiten mit der Visual Component Library 21 2.1 Object und Class - das Objektmodell von Delphi 21 2.1.1 Wie erzeugt Delphi Objekte? 21 2.1.2 Anzeige von Informationen über Klassen 25 2.1.3 Die Objekthierarchie der Delphi-VCL 27 2.1.4 Benutzung von Override in Konstruktoren und Destruktoren 31 2.2 Tips zur Arbeit mit der VCL 38 2.2.1 Die Runtime-Type-Information (RTTI) 38 2.2.2 Einbinden von Klassen aus einer DLL 41 2.2.3 Zusammenhang zwischen Bordericons, BorderStyle und Showmodal 46 2.2.4 Das Erzeugen einer Toolbar für ein Formular 47 2.2.5 Die Abläufe bei Erstellen und Schließen eines Formulars 58 2.2.6 Das Erzeugen transparenter Fensterein Anwendungsbeispiel 66 2.2.7 Das Speichern von Eigenschaften eines Formulars 79 5

3 Die 32-Bit-Welt - Multitasking, Multithreading & Adressierung 95 3.1 Allgemeines 95 3.2 Threads - aus Sicht des Windows-API 99 3.3 Die Synchronisation mehrerer Threads 111 3.4 Das Objekt TThread 121 4 4.1 4.1.1 4.1.2 4.1.3 4.2 4.2.1 4.2.2 4.3 4.3.1 4.3.2 4.4 4.4.1 4.4.2 4.4.3 4.4.4 4.4.5 4.4.6 4.4.7 4.5 4.5.1 4.5.2 4.5.3 4.5.4 4.5.5 4.5.6 4.5.7 4.6 4.6.1 4.6.2 Datenbank-Design Allgemeines Die Planung Das Pflichtenheft Gebräuchliche Begriffe Grundlegende Überlegungen zum Datenbank-Design Auftretende Fehler in Datenmodellen Forderungen an ein Datenmodell Relationale Datenbank-Managementsysteme Die Beziehungen zwischen Tabellen Die Verwendung von Relationen Die fünf Normalformen Die erste Normalform Die zweite Normalform Die dritte Normalform Die vierte Normalform Die fünfte Normalform Normalisieren - aber nicht übertreiben Zusammenfassung Die praktische Umsetzung Unser Pflichtenheft Das Normalisieren Werte prüfen auf Abhängigkeit Die erste Codd'sche Normalform Die zweite Codd'sche Normalform Die dritte Codd'sche Normalform Beziehungen Das Entity-Relationship-Modell Die Generalisierung der Objekte und Beziehungen Die Umsetzung unseres Pflichtenheftes 125 125 126 126 127 129 129 131 131 132 134 139 139 140 140 141 141 141 142 142 142 143 143 145 148 149 150 151 151 152 6

4.6.3 Die Darstellung in einem vereinfachten ER-Diagramm 152 4.6.4 Die Umsetzung des ER-Diagramms in Tabellen 153 4.7 Zusammenfassung 155 4.7.1 Wichtige Punkte 156 5 Die Datenbankkomponenten von Delphi 157 5.1 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.1.8 5.1.9 5.2 5.2.1 5.2.2 5.2.3 5.3 5.3.1 5.3.2 5.3.3 5.3.4 5.3.5 5.3.6 5.3.7 Datenzugriffselemente TSession TDataBase TDBDataSet TTable TQuery TStoredProc TUpdateSQL TDataSource TBatchMove Datensteuerelemente TDBGrid TDBEdit TDBCtrIGrid Entscheidungskomponenten TDecisionQuery TDecisionCube TDecisionSource TDecisionGrid TDecisionGraph TDecisionPivot Programmbeispiel 157 157 160 162 174 180 185 188 190 192 196 196 206 208 213 213 215 216 217 218 218 220 6 Arbeiten mit C/S-Datenbanken 225 6.1 Oracle7-lnstallation 225 6.1.1 Oracle7 Workgroup Server 225 6.1.2 Personal Oracle7 229 6.1.3 BDE-Konfiguration 230 6.1.4 Tips bei Oracle-und BDE-lnstallationsproblemen 232 6.2 InterBase-Installation 233 6.2.1 BDE-Konfiguration 234 6.2.2 Tips bei InterBase- und BDE-lnstallationsproblemen 236 7

6.3 ODBC-Installation 237 6.3.1 ODBC-Treiber-Konfiguration 238 6.3.2 BDE-Konfiguration 240 6.4 Transaktionen und Datensynchronisation mit dem Server 242 6.5 Datenbankkomponenten - Probleme und Workarounds 247 6.5.1 Besonderheiten bei der Arbeit mit Blob-Feldern 247 6.5.2 Cached Updates und die UpdateSQL-Komponente 251 6.5.3 Vergleich von TTable und TQuery 257 6.5.4 Probleme beim Einfügen von Datensätzen mittels TQuery-Komponenten 261 6.5.5 Verwendung von TBDECallback 270 6.5.6 Die Methoden Last und Fetch - Problembehandlung 279 6.5.7 Table-Joins und Read Only Queries 286 6.5.8 Nutzung von InterBase-Event-Alerters 313 6.6 SQL-Monitor 317 6.6.1 Funktionsweise 317 6.6.2 Arbeiten mit dem SQL-Monitor 318 6.6.3 Beispielausgaben von SQL-Statements 320 6.6.4 Der Parameter»?«322 6.7 Trigger 329 6.8 Constraints 334 6.9 Stored Procedures 335 6.10 Vergleich zwischen Oracle und InterBase 339 6.11 Programmbeispiel 343 6.11.1 Umsetzung des Datenbank-Designs 343 6.11.2 Erstellen eines Data Definition Language (DDL)-Scripts 345 6.11.3 Erstellen von Tabellen ohne DDL 346 6.11.4 Programmbeispiel VideoShop 2000 349 6.12 Export und Import bei Oracle 363 7 Datenbanken im Internet/Intranet 365 7.1 Szenario 365 7.2 Grundbegriffe 367 7.2.1 HTML 367 7.2.2 Statisches HTML und dynamisches HTML 367 7.2.3 URL 367 7.2.4 Hyperlink 368 7.2.5 HTTP 368 8

7.2.6 CGI 368 7.2.7 ISAPI 369 7.2.8 NSAPI 369 7.3 Internet-Server-Komponenten 369 7.3.1 TWebRequest 371 7.3.2 TWebResponse 372 7.3.3 TWebDispatcher 373 7.3.4 TPageProducer 377 7.3.5 TQueryTableProducer 380 7.3.6 TDataSetTableProducer 381 7.4 Verbindungsaufbau zwischen Client und der Server-Erweiterung 382 7.5 Erstellen einer Web-Server-Erweiterung 383 7.6 Test der Web-Server-Erweiterung 389 7.7 Tips zum Debuggen einer Web-Server-Erweiterung 390 8 ActiveX 393 8.1 Klassisches C/S Szenario 394 8.2 Multi-Tier-Umgebung 395 8.3 Unterstützung von Data-Warehouse-Anwendungen 396 8.4 Wie können COM-Objekte realisiert werden? 396 8.5 Welche Vorteile bieten COM-Objekte? 396 8.6 Entspricht das COM-Objektmodell dem Delphi-Objektmodell? 398 8.7 Varianten 400 8.8 Partnersuche bei COM-Objekten 401 8.9 COM-Anwendungen 402 8.9.1 AcitiveX-Controls 402 8.9.2 OLE-Container 403 8.9.3 OLE-Automation 403 8.10 Diese Begriffe sollten Sie kennen 403 8.10.1 Globally Unique Identifier (GUID) 403 8.10.2 Interface Identifier (MD) 404 8.10.3 CLASSID bzw. CLSID 404 8.10.4 Programmatic Identifier (ProgID) 404 8.10.5 Registrierung eines COM-Servers 405 9

8.11 8.11.1 8.11.2 8.11.3 8.11.4 8.11.5 8.12 8.13 8.13.1 8.14 8.15 8.16 8.17 8.18 8.19 8.19.1 8.19.2 8.19.3 8.19.4 8.19.5 8.20 8.20.1 8.20.2 8.20.3 COM-Interfaces 406 Standardinterface lunknown 407 Interface und vtable 408 Dispatch Interface 409 Dual Interface 410 Factory Interface 411 COM-Klassenhierarchie 412 Type Library 413 Type Library erstellen 415 Automation Client mit Bindung zur Laufzeit 421 Automation Server mit Bindung zur Laufzeit 424 Automation Client mit Bindung zur Entwicklungszeit 427 Automation Server mit Bindung zur Entwicklungszeit 430 Wie können DLLs registriert werden? 434 Seien Sie Active mit X und erfolgreich! 434 ActiveX-Controls von Drittherstellern in Palette aufnehmen 434 ActiveX-Klassenhierarchie 435 Mit ActiveForm eigene ActiveX-Controls erstellen 436 Delphi-Komponenten in ActiveX-Controls konvertieren 437 ActiveX-Controls in Web-Seiten einbinden 437 Distributed COM (DCOM) 438 Wie arbeitet DCOM? 439 DCOM konfigurieren 441 DCOM-Konfigurationsprogramm 442 9 9.1 9.2 9.3 9.4 Multi-Tier-Architektur 449 TRemoteServer 459 TClientDataSet 460 TProvider 465 Anwendungs-Server - Beispiel 466 10

A Glossar 479 B Literaturverzeichnis 489 C Wichtige WWW-Adressen 491 D Inhalt der CD 493 Index 497 li