Andreas Kosch. Delphi 3



Ähnliche Dokumente
Andreas Kosch. Client/Server. Datenbankentwicklung mit. Delphi. Verlag GmbH

Datenbanken SQL Einführung Datenbank in MySQL einrichten mit PhpMyAdmin

Datenbank- Programmierung mit InterBase

DATENBANKEN MIT DELPHI. Herausgegeben von der Redaktion. Toolbox. Computer & Literatur Verlag GmbH

Inhaltsverzeichnis. Fundamente 9. Lokale Datenbanken 247

Arbeiten mit einem lokalen PostgreSQL-Server

Datenbanken auf Sybase SQL-Anywhere

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

Mit dem 6. Rundbrief gelange ich mit einem Update des Zeitservers an Alle.

novapro Open Audittrail Report

Warum beschäftigt sich ein Linux-Systemhaus mit der Installation von OTRS mit einem Microsoft SQL Server?

MS-SQL Client Installation

Workflow. Installationsanleitung

Delphi 3.0 Datenbankprogrammierung

I. Travel Master CRM Installieren

Administering Microsoft SQL Server 2012/2014 Database (M20462) M /

Installationsanleitung. Novaline Datenarchivierung / GDPdU

XAMPP-Systeme. Teil 3: My SQL. PGP II/05 MySQL

ADDISON tse:nit Hinweise zum Datenumzug im tse:nit Umfeld

Einführung in SQL Datenbanken bearbeiten

Technische Beschreibung: EPOD Server

Inhaltsverzeichnis. 1 Hallo 13

SQL-Injection. Seite 1 / 16

Inhaltsverzeichnis. 1 Der SQL Server 2008 stellt sich vor Die grafischen Tools des SQL Server Eine neue Datenbank erstellen 87

BILDUNGSANGEBOTE FÜR UNTERNEHMEN LEHRGÄNGE IM IT-BEREICH

Themen. M. Duffner: Datenbanksysteme

ODBC-Treiber Programmübersicht


Elster Software System Installation und Betrieb Rechte / Einstellungen

Prozedurale Datenbank- Anwendungsprogrammierung

Delphi 6 Datenbankprogrammierung

Delphi 6 Datenbankprogrammierung

DataManagement. smcdatamanagement - SQL-Tabellen verwalten für jedermann

OP-LOG

datenfabrik.phone Telefonnummern mit den SQL Server Integration Services validieren

Installationsbeschreibung Flottenmanager 7.1

Datenbanken. Ein DBS besteht aus zwei Teilen:

Inhaltsverzeichnis. Einleitung 11. Modul 1 Die erste Datenbank 15. Modul 2 Tabellen in der Entwurfsansicht definieren 21. Inhaltsverzeichnis

Inhalt. 1. MySQL-Einführung Datenbankentwurf 27

2. Einrichtung der ODBC-Schnittstelle aus orgamax (für 32-bit-Anwendungen)

SQL Server 2005 Der schnelle Einstieg

Inhaltsverzeichnis. 1 Einleitung 13

OKB Die MS SQL-Volltextsuche für organice SQL einrichten

Informatik 12 Datenbanken SQL-Einführung

Matrix42. Use Case - Inventory. Version Februar

Arbeiten mit ACCESS 2013

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

Integration Services - Dienstarchitektur

Microsoft Access Schulungen

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

White Paper. Konfiguration und Verwendung des Auditlogs Winter Release

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

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

Business Intelligence Praktikum 1

Performance Tools. für alle Editionen

1 Installation QTrans V2.0 unter Windows NT4

Teamschool Installation/ Konvertierungsanleitung

SQL (Structured Query Language) Schemata Datentypen

Die Analyse großer Datensätze mittels freier Datenbanksysteme Dr Dirk Meusel

Übung 7 DBMS-FUNKTIONALITÄTEN UND DATENIMPORT

Bibliografische Informationen digitalisiert durch

MCSE Crash Test SQL Server 7 Systemadministration

DAS EINSTEIGERSEMINAR. Microsoft Office. Access Winfried Seimert LERNEN ÜBEN ANWENDEN

Update und Konfiguraton mit dem ANTLOG Konfigurations-Assistenten

1 ALLGEMEINES ZU DYNAMICS NAV Geschichte zu Dynamics NAV Datenbank Wo bekommt man Hilfe zu Dynamics NAV?...

datenfabrik. Validieren von -Adressen 1

Kompaktseminare Das MS Access 2010 Kursprogramm

Speichern. Speichern unter

Anleitung zur Einrichtung einer ODBC Verbindung zu den Übungsdatenbanken

CLR-Integration im SQL-Server. Alexander Karl

Inhaltsverzeichnis. Einleitung und Danksagung. 1 Was ist SharePoint? - Ein Überblick.

Schritt 1: Verwenden von Excel zum Erstellen von Verbindungen mit SQL Server-Daten

GKSpro WebServer. Überblick. Web Server. GKSpro. Datenbank. GKSpro. InfoBrief Nr. 61 November GKSpro WebServer.

CVR Seniorentreff vom 04. und Serienbriefe/Seriendruck. Serienbriefe / Seriendruck

pro4controlling - Whitepaper [DEU] Whitepaper zur CfMD-Lösung pro4controlling Seite 1 von 9

ADDISON tse:nit Hinweise zum Umstieg von SQL 2000 auf SQL 2008 im tse:nit Umfeld

f Link Datenbank installieren und einrichten

1. SIDOMO -WARTUNG KONFIGURATION WINDOWS 2003, 2000, XP: ERSTELLEN EINES SIDOMO -WARTUNGS-TASKS... 2

SEMINARINHALTE PROZESSE, CRM UND REPORTING:

Advoware mit VPN Zugriff lokaler Server / PC auf externe Datenbank

INSTALLATIONSANLEITUNG der Version 2.1 (Jänner 2014)

Datenbanktechnologie mit praktischen Übungen in MySQL und PHP

Client/Server- Datenbank- Programmierung

Eine Anleitung, wie Sie Mozilla Thunderbird 2 installieren und konfigurieren können. Installation Erstkonfiguration... 4

3 Richtlinienbasierte Verwaltung und Multi-Server- Administration

Microsoft Dynamics. Management Reporter for Microsoft Dynamics ERP Data Provider Configuration Guide

'RZQORDGXQG,QVWDOODWLRQYRQ-HW5HSRUWVIU '\QDPLFV1$95RGHUIUKHU

CARL HANSER VERLAG. Christopher Allen. Oracle PL/SQL für Einsteiger Der Einsatz von SQL und PL/SQL in der Oracle-Datenbank

So importieren Sie einen KPI mithilfe des Assistenten zum Erstellen einer Scorecard

ONET: FT-NIR-Netzwerke mit zentraler Administration & Datenspeicherung. ONET Server

Implementieren einer Microsoft SQL Server 2005-Datenbank M4739

ClubWebMan Veranstaltungskalender

Salesforce.com Entwicklerhandbuch

Internet und Datensicherung für Frankfurter Schulen mit einem Bandlaufwerk unter MS Windows NT Server Frage:

Kopplung von Datenbanken

Anleitung Redmine. Inhalt. Seite 1 von 11. Anleitung Redmine

i i apitel apitel K K Inhalt Inhalt

MSSQL Server Fragen GridVis

MS ACCESS Einführung MODULE

Transkript:

Andreas Kosch Delphi 3 Grundlagen relationaler Datenbanken - Wertpapierverwaltungsprogramm Schritt für Schritt entwickeln - Einfache Reports mit TQuickRepoif' SQL- Grundlagen und Workshop InterBase SQL Server for Windows 95/NT" im praktischen Einsatz - Client/Server Datenbankentwicklung Mit 245 Abbildungen und 135 Tabellen

7 Inhalt 1 Datenbanken 15 1.1 Datenbank - was ist das? 15 1.2 Anforderungen an eine Datenbank 16 1.3 Relationales Datenbankmanagementsystem 17 1.3.1 Systemtabellen 18 1.3.2 Transaktionen 18 1.3.3 Transaktionsmodelle 21 1.4 Relationale Datenbank 22 1.4.1 Relationale Operatoren 27 1.4.2 Codd's Zwölf Gebote" 28 1.4.3 SQL - Structured Query Language 29 7.5 Desktop-Datenbank oder Client/Server-Lösung? 30 1.5.1 Vergleich der beiden Prinzipien 32 1.5.2 Two-tier oder Multi-tier? 33 1.5.3 Delphi 3 und die Multi-Tier Distributed Application Services 35 1.5.4 Entscheidungsrichtlinien 37 1.6 Datenbankformate - Delphis reiche Auswahl 38 1.6.1 dbase-datenbanktabellen 41 1.6.2 Das Paradox-Tabellenformat 48 1.6.3 FoxPro-Tabellenformat 62 1.6.4 Access-Tabellenformat 69 1.6.5 OLE DB 70 1.6.6 Delphi's Local Interbase Server 72 1.6.7 Delphi's InterBase SQL Server for Windows 95/NT 73 1.6.8 Borland's InterBase Workgroup Server 73 1.6.9 Zugriff auf Fremdformate 80 1.7 Borland Database Engine - ein Blick hinter die Kulissen 85 1.7.1 Die Architektur der BDE, 86 1.7.2 Leistungsmerkmale der BDE 87 1.7.3 IDAPI-Aufbau und Verwendung 88 1.8 Resümee 97 2 Datenbankdesign 98 2.1 Theoretische Grundlagen 99 2.1.1 Eintabellen- versus Multitabellen-Datenbanken 100 2.1.2 Normalisierung einer Datenbank 100

8 Inhalt 2.2 Praktische Umsetzung am Beispiel ShareMan" 102 2.2.1 Problemanalyse 102 2.2.2 Entity-Relationship-Modellierung 106 2.2.3 Datenmodell in Datenbanktabellen umsetzen 111 2.3 Datenbank-Dictionary 118 2.4 Resümee 120 3 Anwendung Schritt für Schritt entwickeln 121 3.1 Schritt 1 : Alias für die Datenbank anlegen 123 3.2 Schritt 2 : Tabellen in der Datenbankoberfläche erzeugen 124 3.2.1 Quick Info's zur Datenbankoberfläche 124 3.2.2 Tabellen der Datenbank ShareMan" konfigurieren 126 3.2.3 Datenbankinventur 130 3.3 Schritt 3: Hauptformular in Delphi gestalten 131 3.3.1 Formular 133 3.3.2 Statuszeile unter Windows 95 139 3.3.3 TPageControl und TTabSheet 140 3.3.4 Windows 95 like 141 3.4 Schritt 4: Datenbankanbindung über ein Datenmodul 145 3.4.1 TDataSet - das Fundament von TTable und TQuery 147 3.4.2 Datenmodul - der lang ersehnte Komponentencontainer 147 3.4.3 Datenbankzugriffskomponenten 150 3.4.4 Programmimplementierung im Datenmodul 157 3.4.5 Neue datensensitive Dialogelemente im Hauptformular 173 3.4.6 Änderungen im Hauptformular 176 3.4.7 Wie lösche ich ein Datum? 183 3.4.8 Der erweiterte BDE-Fehlerdialog 186 3.5 Schritt 5: SQL-Abfrage in einem eigenen Thread 190 3.5.1 Der Aufruf 190 3.5.2 Die Implementierung 192 3.5.3 Der Hintergrund 194 3.6 Schritt 6: TChartFX bzw. TChart zeigt den Kursverlauf an 197 3.6.1 OCX-Grundlage'n - die Kurzfassung 198 3.6.2 Die Implementierung mit TChartFX 199 3.6.3 Die Implementierung mit TChart 200 3.7 Schritt 7: Wertpapiere kaufen und verkaufen 202 3.7.1 Erweiterungen im Datenmodul 203 3.7.2 Erweiterungen im Hauptformular von ShareMan" 204 3.8 Schritt 8: Das Kontobuch wird implementiert 210 3.8.1 Kontobuch-Formular sm_konto.pas" 210 3.8.2 Einzahlungs- und Auszahlungsformular sm_betr.pas" 213 3.8.3 QuickReport-Formular sm_repko.pas" 216

Inhalt 3.9 Schritt 9: Kursdaten eines Jahrgangs löschen 220 3.9.1 Aufruf im Hauptformular 220 3.9.2 Der Löschdialog 221 3.10 Schritt 10: Datenbank-Backup 224 3.10.1 Änderung im Hauptformular 224 3.10.2 Das Backup-Formular 225 3.11 Schritt 11: Auswertungen im Datenbestand 228 3.11.1 Überblick über die aktuellen Aktienkurse 228 3.11.2 Aktueller Stand im eigenen Wertpapierportfolio 230 3.11.3 Chronologischer Kursverlauf einer Aktie 233 3.11.4 Portfolio-Rendite auf einen Blick 236 3.12 Schritt 12 : SQL-Rechercheformular 240 3.12.1 Komponentengröße und Position dynamisch anpassen 241 3.12.2 TQuery - die SQL-Engine 242 3.12.3 TBatchMove - das Arbeitspferd 244 3.12.4 BDE-Callback: Der Datenbank-Informationsdienst 246 3.12.5 Das Datenbankstrukturfenster 251 3.12.6 SQL-Befehle speichern und einlesen 252 3.13 Schritt 13: Datenexport in eine dbase-datei 253 3.13.1 Änderungen im Hauptformular 253 3.13.2 Das Exportformular FormExport" 254 3.14 Schritt 14 : Splash - die Programmvisitenkarte 256 3.14.1 Änderung in der Projektdatei 256 3.14.2 Das Splash-Formular 259 3.15 Resümee 259 4 Delphi ruft MS Word 260 4.1 Der direkte Ausdruck aus dem Programm heraus 260 4.1.1 Daten aus TQuery drucken 261 4.1.2 Die Tool-Unit prnstuff.pas" 264 4.2 Serienbriefgenerator 266 4.2.1 Die Adreßdatenbank 266 4.2.2 Das Serienbriefformular für die Kurzmitteilungen 267 4.3 Dokument über globales*makro beim Start erzeugen 275 4.3.1 Konfiguration des Delphi-Anwendungsprogramms 276 4.3.2 Konfiguration von MS Word 95 278 4.4 Die DDE-Lösung 280 4.5 Die OLE-Lösungen 285 4.5.1 OLE-Grundlagen 285 4.5.2 oletestl.dpr"- OLE-Container für Word für Windows...287 4.5.3 oletest2.dpr" - OLE-Automation mit Microsoft Word 289 4.6 Resümee 290

10 Inhalt 5 InstallShield - das Installationsprogramm 292 5.1 Die Aufgabe 293 5.2 Die Lösung 293 5.2.1 Schritt 1: Visuelles Design 293 5.2.2 Schritt 2: Die eigenen Programmdateien 294 5.2.3 Schritt 3: Die Datenbankdateien 295 5.2.4 Schritt 4: Die OCX-Controls 296 5.2.5 Schritt 5: Komponenten der Benutzerschnittstelle wählen 298 5.2.6 Schritt 6: InstallShield-Objekte für Delphi 298 5.2.7 Schritt 7: Ordner und Symbole festlegen 299 5.2.8 Schritt 8: Der Diskettengenerator 300 5.2.9 Schritt 9: Der Test 300 5.3 Resümee 300 6 Hilfe zum Programm 302 6.1 Das Windows95-Hilfesystem 304 6.2 Aufbau eines Hilfeprojektes 305 6.2.1 Die Projektdatei *.HPJ 305 6.2.2 Die Hilfetextdatei im RTF-Format 307 6.3 Die Hilfedatei Schritt für Schritt erstellen 309 6.3.1 Schritt 1 : Die Projektdatei»artikel.hpj«vorbereiten 309 6.3.2 Schritt 2 : Die RTF-Datei artikel.rtf anlegen 310 6.3.3 Schritt 3 : Suchsequenzen für ein Thema definieren 314 6.3.4 Schritt 4 : Definitionen zur Begriffserläuterung festlegen 316 6.3.5 Schritt 5: Die Inhaltsübersicht zusammenstellen 317 6.4 Hilfedatei aus dem Delphi-Programm heraus aufrufen 318 6.4.1 TApplication.HelpCommand 318 6.4.2 TApplication.HelpContext 319 6.4.3 TApplication.HelpJump 320 6.4.4 Windows-API-Funktion WinHelp 320 6.4.5 Aufruf über die Fl-Taste 321 6.4.6 Die Direkthilfe von Windows 95 321 6.5 Resümee..' 322 7 SQL - eine unterschätzte Toolbox 323 7.1 Was ist SQL? 323 7.1.1 Warum wird SQL verwendet? 324 7.1.2 Wie wird SQL verwendet? 325 7.1.3 Wer verwendet SQL? 325 7.2 SQL-Kommandoklassen 326 7.2.1 Data Definition Language - DDL 326

Inhalt 7.2.2 Data Manipulation Language - DML 326 7.2.3 Data Query Language - DQL 327 7.2.4 Transaction Control Language - TCL 327 7.2.5 Database Administration Language - DAL 327 7.3 Wie verwaltet SQL Daten? 328 7.4 SQL-Befehlsausführung 331 7.4.1 Aufbau eines SQL-Befehls 332 7.5 SQL-Elemente 332 7.5.1 Namen 332 7.5.2 Datentypen 334 7.5.3 System-Schlüsselwörter 336 7.5.4 Ausdrücke 336 7.5.5 Auswahlbedingungen 337 7.5.6 Operatoren 339 7.5.7 Aggregatfunktionen 341 7.5.8 Zeilen gruppieren 342 7.5.9 Joins - Daten aus mehreren Tabellen abfragen 344 7.5.10 CAST - die Typumwandlung in SQL 349 7.6 Die SELECT-Anweisung 350 7.7 Step by Step - ein Exkurs in die SQL-Welt 351 7.7.1 Tabellen anlegen, füllen und auswerten 352 7.7.2 Tabelleninhalte ändern 357 7.7.3 Daten auswerten 358 7.7.4 Daten löschen und Tabellen umstrukturieren 359 7.8 Tips & Tricks zum Thema SQL und Delphi 360 7.8.1 Besonderheiten der Borland Database Engine 360 7.8.2 Lange, Leerzeichen enthaltende Tabellenspaltennamen 360 7.8.3 Parametisierte SQL-Abfragen 361 7.8.4 SQL-Abfrage sortieren 363 7.8.5 DOS-Jokerzeichen versus SQL-Jokerzeichen 363 7.8.6 SQL und Sonderzeichen 364 7.9 Resümee 365 8 Tips & Tricks zu Datenbanken 366 8.1 Datenbanktabellen vom Programm anlegen lassen 366 8.1.1 Datenbanktabellen zur Programmlaufzeit generieren 366 8.1.2 Datenbank aus den Programm-Ressourcen heraus kopieren 371 8.2 Alias 375 8.2.1 Alias beim Programmstart prüfen 375 8.2.2 Alias im Programm anlegen 375 8.2.3 Daten zu einem bestimmten Alias auslesen 378 8.3 Datenbanktabellen 379 8.3.1 Datenbankverzeichnis ermitteln 379

" 2 Inhalt 8.3.2 Zugriff auf paßwortgeschützte Paradox-Tabellen 380 8.3.3 Paßwort einer Paradox-Tabelle programmgesteuert ändern 381 8.3.4 Referenzintegrität und kaskadiertes Löschen der Datensätze 382 8.3.5 Gelöschte Datensätze in einer dbase-tabelle anzeigen 385 8.3.6 Packen, Reorganisieren und Regenerieren 387 8.3.7 Daten in eine ASCII-Datei exportieren 390 8.3.8 Tabellenstruktur anzeigen und ausdrucken 392 8.3.9 Tabellen sperren und umbenennen 395 8.3.10 Tabelleninhalt generieren und löschen 396 8.3.11 Memory-Tabellen im Arbeitsspeicher 398 8.3.12 KeyViolation-Error abfangen 402 8.3.13 Tabelleneigenschaften auslesen 403 8.3.14 BDE-Tabellenpuffer programmgesteuert zurückschreiben 405 8.4 Datensätze suchen und filtern 408 8.4.1 Tabellendatensätze filtern 408 8.4.2 Suche in indizierten Tabellenspalten 413 8.4.3 Suche in nichtindizierten Tabellenspalten 414 8.4.4 Locate 420 8.4.5 Soundex - die unscharfe Suche 421 8.5 Datenbank, SQL und Multithreading 425 8.5.1 Der einfache Weg 425 8.5.2 Der offizielle Weg 427 8.5.3 Der effektive Weg 429 8.6 Datenbank-Komponenten 432 8.6.1 DBNavigatorfunktionen über das Menü aufrufen 432 8.6.2 TMemoField-Inhalt im DBGrid anzeigen 433 8.6.3 TQuery-Beispiele 435 8.6.4 Lookup-Felder 438 8.6.5 SQL-Abfrage via TQuery abbrechen 439 8.6.6 TInPlaceEdit 441 8.7 BDE 442 8.7.1 BDE-Fehlermeldungen nachschlagen 442 8.7.2 Informationen in der Registry 443 8.8 DLL und Datenbank 445 8.8.1 Zugriff auf lokale Tabellen 445 8.8.2 Zugriff auf SQL-Server 447 9 Client/Server-Datenbankanwendungen 448 9.1 Was ist an Client/Server so anders? 448 9.1.1 Technische Unterschiede 448 9.1.2 Logistische Unterschiede 449 9.1.3 Delphi-Professional oder Client/Server-Suite? 450 9.2 TTable versus TQuery versus TStoredProc 450 9.2.1 Eine Tabelle auf dem SQL-Server wird über TTable geöffnet 451

Inhalt " 3 9.2.2 Datensätze über TTable suchen 453 9.2.3 Nachteile von TQuery 454 9.2.4 Entscheidungsrichtlinien 455 9.3 Delphi's InterBase SQL Server for Windows 95/NT 457 9.3.1 InterBase Registry Configuration 457 9.3.2 Communication Diagnostic Tool - der IBS95-TÜV 458 9.3.3 InterBase Server Manager - das IBS95-Regiezentrum 458 9.4 Client/Server Step by Step 460 9.4.1 Neue Datenbank im IBS95 einrichten 460 9.4.2 Beispieltabelle person" anlegen 463 9.4.3 Borland Database Engine konfigurieren 466 9.4.4 Das erste Delphi-Beispielprojekt 467 9.4.5 Das zweite Beispiel - TQuery als Datenquelle 468 9.4.6 Das dritte Beispiel: TQuery als lebendige" Datenmenge 471 9.4.7 Beispiel 4: Delphi's Transaktionskontrolle 471 9.4.8 Luxus schafft Probleme! 474 9.4.9 Resümee 475 9.5 InterBase - ein Blick hinter die Kulissen 475 9.5.1 InterBase-Transaktionen 475 9.5.2 InterBase Transaction Isolation Level 476 9.5.3 SQLPASSTHRU-Mode 481 9.5.4 Delphi's UpdateMode-Varianten 487 9.5.5 Deadlocks 488 9.5.6 Garbage collection 490 9.5.7 Bedeutung von OIT und OAT 490 9.5.8 InterBase Sweeping 492 9.5.9 Der Optimizer des InterBase SQL Servers 493 9.5.10 InterBase UDF's - die User Defined Functions 498 9.6 Design einer InterBase-Datenbank 505 9.6.1 Der schnelle Weg über den Data Pump Expert 505 9.6.2 Der mühsame Weg des eigenen Designs 506 9.6.3 Domains 507 9.6.4 Generatoren 508 9.6.5 Trigger 509 9.6.6 Stored Procedure 513 9.6.7 Events.,: 516 9.6.8 Exceptions 1. 516 9.7 Tips & Tricks zum Thema Client/Server 517 9.7.1 Eine InterBase-Datenbank programmgesteuert anlegen 517 9.7.2 InterBase-Versioning in der Praxis 521 9.7.3 InterBase und die Fließkommazahlen 522 9.7.4 InterBase CHAR vs VARCHAR vs BLOB 523 9.7.5 Datenbank-Constraint's über mehrere Spalten 525 9.7.6 Datenbank-Benutzer auflisten 525

14 lnnalt 9.8 Performance Tips 526 9.8.1 Allgemeine Hinweise zur BDE 526 9.8.2 InterBase-Optimierung 527 9.8.3 Logische Datenbankstruktur 528 9.8.4 Kurzzeitige Transaktionen 528 9.8.5 Datenbankpflege 529 9.9 Resümee : 531 Anhang 532 Sachverzeichnis 537