Samstag, 19. Dezember 2009

Gern stehe ich Ihnen für Consulting, offene Schulungen sowie für Inhouse-Seminare zur Verfügung

Im Regelfall begrüße ich erfahrene Programmierer aus bekannten Unternehmen oder öffentlichen Institutionen, die sich projektbezogen Fachkenntnisse und Überblickswissen über aktuelle Technologien verschaffen wollen.


 Gern stehe ich Ihnen für Consulting, offene Schulungen sowie für Inhouse-Seminare zur Verfügung:
  • XML-Kurse, Schulungen, Seminare, Einzelcoaching
  • Java-Kurse, Schulungen, Seminare, Einzelcoaching
  • .NET-Kurse, Schulungen, Seminare, Einzelcoaching
  • VisualBasic - Kurse, Schulungen, Seminare, Einzelcoaching
  • Webprogrammierung-Kurse, Schulungen, Seminare, Einzelcoaching
  • Programmierung-Kurse, Schulungen, Seminare, Einzelcoaching
  • Grundlagen-Kurse, Schulungen, Seminare, Einzelcoaching
  • Aufbau-Kurse, Schulungen, Seminare, Einzelcoaching
  • Projektmanagementkurse-Kurse, Schulungen, Seminare, Einzelcoaching

 

dot net schulungen

Neben offenen .NET-Schulungen bieten wir Ihnen individuelle, auf Ihre Bedürfnisse angepasste Themenzusammenstellung in Inhouse-.NET-Schulungen (Firmenseminaren). Für die Dauer, die Sie brauchen. An dem Ort, wo Sie es wünschen. Optional betreuen wir Sie nach der Schulung im Rahmen eines Fern-Coaching (via Telefon und E-Mail) weiter. Auch unabhängig von einem Kurs können Sie unseren Support zu .NET nutzen.

Wir hefen ihnen gerne, Ihren individuellen Bedarf zu ermitteln und einen Kursplan für .NET auf Basis Ihrer Vorkenntnisse zusammenzustellen. Lesen Sie unsere individuell, anpassbaren Schulungskonzepte für In-House-Schulungen. Bitte stellen Sie Anfragen über unser Kontaktformular.

Wir arbeiten auch mit Schulungsunternehmen zusammen, die standardisierte offene Schulungen anbieten.

Themenbeispiele

.NET-Einführung

Neuheiten in .NET 2.0/3.0/3.5/4.0

Programmiersprache C#

Programmiersprache Visual Basic .NET

Web-Programmierung mit ASP.NET und AJAX

Best Practices, Optimierungen, Tipps & Tricks

Datenzugriff mit ADO.NET, LINQ und dem ADO.NET Entity Framwork

Programmierung mit der .NET-Klassenbibliothek

Windows-Programmierung mit Windows Forms und WPF

Scripting mit dem Microsoft .NET Framework / Windows PowerShell

Verteilte Systeme mit C# (Webservices, .NET Remoting oder WCF)

Enterprise-Programmierung mit C# (Enterprise Library, Enterprise Services, Workflow)

Weitere .NET-Seminarthemen

Freitag, 18. Dezember 2009

IT-Schulungen

Schulungen aus der Praxis für die Praxis d.h. es wird nicht nur theoretisches Wissen vermittelt, sondern auch praxisbezogenes Wissen. Alle Referenten sind vor Ort beim Kunden tätig und kennen so auch die Probleme und Problemchen der Anwender.


Im Seminar werden diese Punkte berücksichtigt. Auch haben die Seminarteilnehmer Gelegenheit ihre individuellen Fragen zu stellen

Mittwoch, 16. Dezember 2009

senden von smpt vom asp.net in c#

Ich habe einen Artikel im Mai 2005 zum Senden von e-Mail-Nachrichten über ASP.NET V2. 0 geschrieben. Â dies ist eine schnelle Folgemaßnahmen im Anschluss an, dass Artikel mit zusätzlichen Informationen, die Adressierung speziell der Frage der SMTP-Authentifizierung gegen A-remote-e-Mail-Server.
Viele Web-Hosts jetzt haben Ihre Server "gesperrt" und benötigen einen Benutzernamen und ein Kennwort ein, um E-mail von ihrer servers. zu senden, wenn Sie Code, der "Localhost" (der SMTP-Dienst auf dem lokalen Computer ausgeführt wird), verwendet dann dies nicht, ein Problem sein sollte haben, aber wenn Sie eine Situation haben, wo Sie zum Relay von e-Mails aus einem remote-e-Mail-Server benötigen, der gesichert ist, dieser Artikel soll Ihnen helfen.
Die eigentliche Arbeit erfolgt durch das NetworkCredential-Objekt. Â gemäß, MSDN, dieses Objekt "bietet Anmeldeinformationen für Kennwort-basierte Authentifizierungsschemas wie z. B. grundlegende, Digest, NTLM, und Kerberos-Authentifizierung. „Â Der Vorteil von dieser einen zweistufigen Prozess anstelle von Benutzername und Kennwort an die .Credentials-Eigenschaft des SmtpClient-Objekts übergeben ist nicht klar, aber das ist was erforderlich ist.

Hier ist ein vollständig arbeiten schnell Codebeispiel, die Sie verwenden können, zum eigenen SMTP-Authentifizierung unterstützenden e-Mail-Code Einstieg.

'Create a new MailMessage object and specify the"From" and "To" addresses


Dim Email As New System.Net.Mail.MailMessage( _

"Brad.Kingsley@orcsweb.com", "Brad@KingsleyTeam.com")

Email.Subject = "test subject"

Email.Body = "this is a test"

Dim mailClient As New System.Net.Mail.SmtpClient()

'This object stores the authentication values

Dim basicAuthenticationInfo As _

New System.Net.NetworkCredential("username", "password")

'Put your own, or your ISPs, mail server name onthis next line

mailClient.Host = "Mail.RemoteMailServer.com"

mailClient.UseDefaultCredentials = False

mailClient.Credentials = basicAuthenticationInfo

mailClient.Send(Email)

Dienstag, 15. Dezember 2009

was ist java - und wie starte ich einen java-kurs.

Was ist Java?
Java zählt zu den neuen und höheren Programmiersprachen, welche die objektorientierte Programmierung konsequent unterstützt.
OOP: Prinzipien von OOP (Objekt Orientierte Programmierung) sind Abstraktion, Kapselung, Modularisierung und Hierarchie. Im Gegensatz zur ablauforientierten strukturierten Programmierung (Prozeduren und Funktionen) bilden Objekte und Objekttypen (Klassen) das Gerüst des Systems. Oben erwähnte Objekte besitzen Eigenschaften und eigene Operationen (Methoden). Programmsysteme können ähnlich einem Baukasten aus Objekten zusammengesetzt werden. Objekte stehen miteinander in Verbindung und senden sich gegenseitig Aufträge (Botschaften). Durch das Zusammenspiel aller Objekte, kann eine Gesamtaufgabe gelöst werden.
Dank so genannter Applets, welche Webpages dynamischer machen, gelang Java der Durchbruch - im Internet. Jedoch war es nicht das Ziel der Programmiersprache Java, das WWW dynamischer zu machen. Man mag es kaum glauben, doch man hatte ursprünglich - und hat noch heute - die Idee, Haushaltsgeräte und deren Abläufe zu optimieren und zu automatisieren! So sollte beispielsweise das Radio automatisch anspringen, dadurch der Kaffeebeutel in die Kaffeemaschine gefüllt werden, und schließlich und natürlich der Kaffe gekocht werden sowie die Heizungen im Winter angemacht werden.
Doch in diesem kleinen Einstieg geht es nicht um die Optimierung von Haushaltsgeräten, sondern um Java im Internet. Und genau deshalb geht es jetzt richtig los..
Was sind Vorteile von Java?
Portierbarkeit (Hardware- und Betriebssystem unabhängig), breites Einsatzspektrum (Applets/Internet und Programme/lokal), bekannte Syntax (durch C/C++), Robustheit, Sicherheit, viele Standardfeatures, dynamisch und modular, große Verbreitung...
Auf das Stichwort Portierbarkeit sollte man besonders achten. Sicher ist C++ eine maschinennahe, sehr schnelle und sehr mächtige Programmiersprache und Java hat die Syntax fast komplett übernommen, doch was passiert, wenn man ein Programm in Windows unter C/C++ schreibt? Man kann es nur für das entsprechende System nutzen, was unbestritten ein großer Nachteil gegenüber Java ist

Was sind Nachteile von Java?
Die Geschwindigkeit lässt leider stark zu Wünschen übrig, was sich jedoch mit den Native- und Just-In-Time-Compilern ändern soll. Weiterhin fehlen einige C++ Features. Dies erschwert die Portierung (Beispiel: Operator, variable Argumentenlisten). Leider schränkt der oben genannte Vorteil Sicherheit die Anwendungsgebiete ein. Außerdem können Applets nicht gedruckt werden; wenn doch, dann nur über äußerst komplizierte Umwege.
Syntaxvergleich zwischen C++ und Java
Wie oben bereits erwähnt, hat Java die Syntax von C++ übernommen, jedoch mit folgenden Einschränkungen: keine Zeiger, Funktionen, Structs, Unions, globalen Variablen, Mehrfachvererbung, Preprozessoren, typedefs und Gotos.
Folgende Erweiterungen bietet Java, vorallem verkörpert durch Standardklassen: Benutzeroberflächen, Grafik (2D), Netzwerk, Threads und Bildverarbeitung.
Wie kann das Internet Java verstehen?

Ein Java-Programm besteht aus einer Klasse und wird durch die virtuelle Java-Maschine verstanden. Sie interpretiert den Java-Bytecode ("Maschinensprache" der virtuellen Maschine) und sorgt für Portierbarkeit, Sicherheit und Robustheit. Dieses Interpretieren ist jedoch sehr langsam, was wir oben bereits angedeutet haben. Weiterhin gibt es Miniprogramme, die auch als Applets bezeichnet werden, welche über den Browser abgespielt werden können, und somit das WWW erweitern. Der Code eines solchen Programms wird vom Server geladen - das Programm läuft dann beim Nutzer (Client). Java-Programme können keine Viren enthalten oder Hackerattacken unterliegen, da sie schreibgeschützt sind.
Was benötige ich, um Java nutzen zu können?
Wie auch in der Spieleprogrammierung mit DirectX und dessen SDK (Software Development Kit) gibt es auch für Java ein solches, nämlich das JDK (Java Development Kit). Es wird ständig weiterentwickelt, und stellt für den Programmierer erst die Option zur Verfügung, Java-Programme entwickeln zu können. Das JDK besteht aus einem Compiler (der den Bytecode interpretiert), einer virtuellen Maschine, einem Debugger (der Fehler im Code erkennt), einem Disassembler und anderen Tools. Natürlich gibt es auch sogenannte IDEs (Integrated Development Environments = Entwicklungsumgebungen) für Java wie den JBuilder von Borland oder RealJ.

noch ein java-kurs

Sie lernen
•Java Applets zu entwerfen und in Programmcode umzusetzen.

•Sie veranstalten graphische Spielereien, bringen Sound und Bewegung in Ihre Applets.

•Das Tutorial gibt Ihnen die Anleitung und Einführung in Begriffe und Strukturen von Java (Klassen, Objekte, Variablen, Methoden, Schleifen, Datentypen).

•Sie lernen Programmfehler abzufangen um ein stabil laufendes Programm zu erstellen.

•Sie erarbeiten schrittweise und verständlich die Grundlagen zur Programmierung von Java.

•Am Ende des Kurses sind Sie in der Lage, kleine Java-Programme und einfache Applets (für Webseiten) selbst zu programmieren.

Java Kurs, die Anfänge

Vorwort


Die vorliegende Java-Einführung beschreibt nur kurz die wichtigsten Eigenschaften von Java, die für die meisten Anwendungen benötigt werden. Für darüber hinaus gehende spezielle Features und Anwendungen sowie für ausführlichere Informationen wird auf die Referenzen und auf die Online-Dokumentation verwiesen.
Die Java-Einführung besteht aus zwei Teilen:
der eigentlichen Kursunterlage mit Beispielen und Übungsaufgaben, und

Musterlösungen zu den Übungsaufgaben.

Wenn Sie Java erfolgreich lernen wollen, empfehle ich Ihnen dringend, die Musterlösungen erst dann auszudrucken und anzusehen, wenn Sie bereits alle Übungsbeispiele selbständig fertig programmiert haben, also erst am Ende des Kurses.

java, kurs. der anfang

Vorbereitung


 
Das Schreiben von Computerprogrammen erfordert folgende Hilfsmittel:
  1. Einen Editor zum Erstellen des Quelltextes
  2. Einen Compiler, also ein Übersetzungsprogramm, das den Quelltext in die Maschinensprache oder ein Zwischenformat, den Byte-Code, übersetzt.
Der so erzeugte Byte-Code wird dann durch ein Programm namens „java“ ausgeführt. Dieses Programm wird auch als virtuelle Maschine oder Java-Laufzeitumgebung bezeichnet.

 
Sogenannte Integrated Development Environments, kurz IDEs, kombinieren diese Hilfsmittel. Zum besseren Verständnis werden wir in diesem Kurs jeweils beide Teile getrennt betrachten.

 
Editor

 
Einen Editor liefern fast alle Betriebssysteme in ihrer Grundausstattung mit. Allerdings unterscheiden sich diese Programme in ihren Merkmalen stark: Editoren wie das notepad von Windows bieten nur wenig Benutzerkomfort, während andere (z.B. GNU-Emacs) eine nahezu unerschöpfliche Fülle an Bedienungselementen liefern. Die Wahl des richtigen Editors ist eine Frage des persönlichen Geschmacks.

 

Java Kurs

Einführung in die objektorientierte Programmierung im Vergleich zu klassischen Methoden und Programmiersprachen


Konzepte und Eigenschaften der Programmiersprache Java und der Java-Technologie

Was ist Java?

Eigenschaften der Entwicklungs- und Laufzeitumgebung

Sprachelemente und Kontrollstrukturen

Klassen, Objekte, Vererbung und Polymorphie, abstrakte Klassen, Interfaces

Fehlerbehandlung (Exception Handling)

Packages: Die Organisation und Gruppierung von Java-Klassen in umfangreicheren Projekten

Java-Archiv- (jar-) Dateien

Übersicht über die Standard-Klassenbibliotheken von Java, u. a. mit

Datei-Ein-/Ausgabe und Performance

Multithreading: Parallele Verarbeitung von Teilaufgaben in Programmen

Die Entwicklung grafischer Benutzeroberflächen mit AWT und Swing

Komponenten und Container

Layout-Manager

Ereignissteuerung (Event Handling)

Menüs

Applets und Standalone-Programme

Das JavaBeans-Komponentenmodell

Zugriff auf relationale Datenbanken

Java Database Connectivity (JDBC)

Ausführen von SQL-Statements und Auswerten der Ergebnisse

Entkopplung von Datenbankzugriffen und Applikationsklassen

Hinweise auf weiterführende Themen

Java EE (früher J2EE)

Enterprise JavaBeans

Servlets und Java Server Pages

Praktische Übungen

Hier werden Analogien und Unterschiede zur traditionellen (strukturierten, funktionalen) Programmierung herausgearbeitet.

Donnerstag, 3. Dezember 2009

Neulich im Hotel

Schleicht der Page durch die Hotelhalle - dem Ausgang entgegen. "Halt, wo willst Du hin?" trompetet die Chefin. "Ins Bordel", antwortet recht kleinlaut der Page. "Ich glaube, mein Hamster bohnert, Du machst Dich sofort wieder an die Arbeit". "Aber..." "Keine Widerworte", tobt die Chefin. "Nun gut, dann muss Ihr Mann seinen Regenschirm wohl selbst holen".

Das Borland Zertifizierungsprogramm. Lernen Sie Delphi bei den Besten

Wissen und viel sind mehr darüber hinaus wissen gab um Bewerber für Borland Zertifizierungen zu, entscheiden weil ihre Zertifizierungsprogramme in Ihnen sehr hohe Standards der Schulungsmaterial enthalten. Branchen sind letztlich die Nutznießer, weil Sie solche hoch qualifizierten Kandidaten, zum Abrufen der Wettbewerbsvorteil gegenüber ihren Wettbewerbern beschäftigen.

Die Prüfung durchgeführt für Borland-Produktzertifizierung umfaßt sehr erweiterte Funktionen von einem genannten Produkte und somit die Kandidaten werden die Funktionen in Software-Entwicklung der Industrie geforderten praktisch anwenden können. Mehr Nachdruck wird auf der Produkt-Kernsprache, integrated Development Environment, visuellen Komponenten, Debuggen von Techniken und Tools zur Bereitstellung von Software gelegt. Es ist einfach nicht die Prüfung übergeben, aber der Kandidat muss gründliche mit allen Features, die in erstellen, Debuggen und Aufrufen von Software-Anwendungen, um von Branchen erwarteten Normen erforderlich.

Nicht nur Kandidaten, sondern Instruktoren profitieren außerdem von Borland-Programme. Sie werden mehr versierte und kompetente und es gibt einen riesiger Unterschied zwischen was Sie Studenten vermittelt bevor übergeben dieser Prüfung und die Art und Weise, wie Sie Lehren nach dem Löschen dieser Prüfung.

Diese Ausbilder, die diese Prüfung übergeben werden wirklich getrennt von anderen Ausbilder in dem Sinne, die Sie den höchsten Standards der Lehre Fähigkeiten kombiniert mit eine gründliche Kenntnis des Produkts haben. Es ist die Intensität des Wissens, die Sie in das Programm gewonnen haben, die Sie abgesehen von anderen Instruktoren festlegt. Daher werden Industrien mit einer Ehrgeiz kritische Maßstäbe setzen vie, miteinander, um die Dienste der solche Instruktoren bereitstellen, die diese Prüfung bestanden haben.

Die Borland Lizenz, Ihre Schulungsmaterialien nur für die Ausbilder zu lehren, die die Prüfung für das Certified Borland Instructor Programm zu übergeben. Branchen sind bemüht, ihre Dienste für Ihre bewunderten und reichlich Intellekt und lernen zu greifen, da in ihre Wahrnehmung es eine gute Investition ist mit der Sie immens erzielen können.

Sie haben Instructor Zertifizierungen für Anwendungsserver, Visibroker-4 für JAVA oder C++, Delphi 6, JBuilder 5 und C ++ Builder 5. Aber was von Ihnen erwartet wird, müssen Sie ein paar Bedingungen zu erfüllen, wie müssen Sie regelmäßig die Schulungen teilnehmen, sollte ein Mitglied des Borland Lernenden Programms sein, sollten besuchen die Train-the-Trainer-Klasse und übergeben der Untersuchungen ist.

Wenn Sie Delphi Lernen wollen, und einen Delphi-Kurs suchen, schauen Sie bei der SoftwareAcademy.de vorbei. Wenn Sie .NET Lernen wollen, schauen Sie bei der SoftwareAcademy.de vorbei.

Mittwoch, 2. Dezember 2009

NULL in SQL-Datenbanken vermeiden

Warum sollte ich NULL in meiner Datenbank vermeiden?
Joe Celko sagte es am besten: "NULL verwechseln Menschen..." (Für Smarties, ISBN 1558605762 SQL). McGoveran und Datum hinzufügen: "NULL... sind weit mehr Probleme als Sie es Wert sind, und vermieden werden sollten; Sie sehr seltsam und inkonsistente Verhalten angezeigt und können eine reiche Quelle der Fehler und Verwirrung sein." (Handbuch, Sybase und SQLServer, ISBN 020155710X).

Meine Gefühl. Natürlich erwarte ich nicht Sie überzeugen durch blinkt ein paar Zitate aus seriösen Autoren. Sprechen wir für eine Minute, über was genau NULL tun, die diese Art der Reaktion verursachen. Das erste Problem ist, dass die Definition der NULL "Unbekannt". Also ist ein Problem ermitteln, ob ein Wert ist (nicht) gleich einem anderen Wert, wenn eine oder beide Werte NULL sind. Dies tröpfelt herunter, um viele Probleme für eine Datenbank-Engine und alle dazugehörigen Anwendungen. Die folgende Liste beschreibt einige dieser Probleme: Sie sind je nach Kompatibilitätsgrad und ANSI-Einstellungen unterschiedlich interpretiert; Z. B. betrachten zwei Werte, X und y, die beide NULL sind. Da die Definition der NULL unbekannt ist, dann Sie können nicht behaupten X = y. Allerdings kann mit der ANSI-ANSI_NULLs festlegen, dies unterschiedlich sein. Wenn diese Einstellung FALSE, ist X = y... jedoch, wenn TRUE, X > y. Verwechslung, keine?


die Speicher-Engine zu tun hat zusätzliche Verarbeitung für jede Zeile um zu bestimmen, wenn die nullwertfähige Spalte in der Tat NULL – ist diese zusätzliche bit Performance-Auswirkungen haben kann; Sie produzieren seltsam Ergebnisse beim Verwenden von Berechnungen, Vergleiche, sortieren und gruppieren; Sie Probleme mit Aggregaten und Joins, wie z. B. verschiedene Antworten für Count(*) vs. Count(Spaltenname) erstellen; Sie produzieren unvorhersehbare Ergebnissen in Statistiken Berechnungen, besonders WITH ROLLUP und WITH CUBE; Anwendungen müssen zusätzliche Logik zur Einfügen hinzufügen und Abrufen von Ergebnissen, die können oder darf nicht NULL-Werte enthalten; Sie verursachen unvorhersehbare Ergebnissen mit NOT EXISTS und NOT IN Unterabfragen (SQL arbeiten, rückwärts, bestimmt werden, dass NULL-Spalten gehören oder nicht zum Ergebnis gehören festlegen, in der Regel aus den falschen Gründen); keine Sprache, die embedded SQL unterstützt verfügt über systemeigene Unterstützung für NULL-SQL-Werte.
Hier sind einige konkrete Beispiele:

COUNT(state) USE PUBS GO SELECT FROM Verlage SELECT COUNT(pub_name) FROM

Verlage warum der Unterschied in Zählung führt? Sie würde * denken *, dass die Anzahl der eine identische Rowcount unabhängig von den Inhalt der Spalte geben würde. Es wird oft empfohlen, dass "*" vermieden werden, da es ineffizient ist (verursachen einen zusätzlichen Aufruf der Syscolumns-Tabelle)--aber in diesem Fall, wenn Sie in ihre Spalten NULL-Werte zulassen Sie Ihre Anzahl Grundlage laufen Gefahr, wird eine Spalte enthält... NULL zu eine ungenaue Zählung. Zum Glück ist der Motor wesentlich effizienter bei der Verarbeitung SELECT COUNT(*), als es SELECT Verarbeitung ist *.

Hier ist ein weiteres Beispiel für stärker einbezogen. Angenommen, Sie sind ein Stats-Programm ausführen, und jemand hat Dinge manuell eingeben. Was geschieht, wenn wissen Sie Sie nicht die Adid und/oder Siteid Wenn Sie geben Sie die Daten ein, und Sie sind Rollups dagegen durchführen? Wenn Sie es vor, WITH ROLLUP-Gruppen durch die GROUP BY-Spalten nicht verwendet haben, fügt dann Hauptzeilen. Sie fügt hinzu Flags jede Spalte Wenn Sie auf eine Hauptzeile, so dass Sie WHICH Hauptzeile identifizieren können, es ist. Erraten, was das Flag ist? NULL. Also probieren Sie diesen Code:

USE Pubs GO CREATE TABLE FakeStats (Id INT IDENTITY NOT NULL, Adid INT, Siteid INT, Hitcount INT) INSERT fakeStats(adid,siteid,hitcount) 1,1,40 SELECT INSERT SELECT 1,1,20 fakeStats(adid,siteid,hitcount) fakeStats(adid,siteid,hitcount) 1,2,30 SELECT INSERT fakeStats(adid,siteid,hitcount) 1,3,40 SELECT INSERT fakeStats(adid,siteid,hitcount) 2,1,40 SELECT INSERT fakeStats(adid,siteid,hitcount) 2,2,60 SELECT INSERT fakeStats(adid,siteid,hitcount) 2,2,20 SELECT INSERT fakeStats(adid,siteid,hitcount) 2,2,30 SELECT INSERT fakeStats(adid,siteid,hitcount) 2,3,10 SELECT INSERT SELECT adid,siteid,SUM(hitcount) FROM FakeStats GROUP BY Adid, Siteid WITH ROLLUP

Sie sehen, dass die Ergebnisse die Hauptzeilen mit NULL-Flags eindeutig identifizieren. Leider, wenn Sie NULL haben * in die Daten *, wird dies sehr schwierig, automatisch zu verarbeiten. Führen Sie beispielsweise, dies jetzt:
UPDATE FakeStats SET Adid = NULL WHERE Id = 4 UPDATE FakeStats SET Siteid = NULL WHERE Id = 6 SELECT adid,siteid,SUM(hitcount) FROM FakeStats GROUP BY Adid, Siteid WITH ROLLUP

Siehe den Unterschied? Welche Zeilen sind jetzt die Hauptzeilen? Leicht genug, um herauszufinden, wenn Sie haben einen kleinen Satz zur Folge und die Zeit um aus dem Chaos zu begradigen. Jedoch, wenn Sie ein System, die automatisch haben (oder auf Anforderung) erstellt Berichte gegen ein Datawarehouse, ich denke, Sie sehen können, wie NULL-Werte bis einige Straßensperrungen umgesetzt werden.

Manchmal NULL-Werte sind unvermeidbar – da die Informationen einfach ist nicht vorhanden, oder es ist noch nicht bekannt. Zwei solche Beispiele: Birthdates und Mitte Initialen. Gelegentlich kommen Sie über Szenarien, in denen Sie haben unvollständigen Informationen von einem Benutzer, und daher können Sie wählen, ob es warten oder entscheiden, dass die Informationen nicht zur Ergänzung der Daten erforderlich ist – in diesem Fall NULL erlaubt werden sollte. (Für eine Person ohne Initiale des zweiten Vornamens, könnten Sie NULL umgehen, indem Sie verwenden eine leere Zeichenfolge (''). Hoffentlich, Geburtsdatum ist ein Teil Ihres primären Schlüssels nicht, und dadurch können Sie um NULL zu speichern, bis Sie die zusätzliche Informationen erhalten.)

Mein Vorschlag besteht darin, einen Standardwert in jedem Fall zu verwenden, die macht Sinn, und deklarieren Sie alle solche Spalten ausdrücklich als NOT NULL. Der Standardwert in DDL-für die Erstellung von Spalte, ist mindestens in SQL Server NULL, wenn Sie nicht angeben. Die beiden folgenden Anweisungen erstellen eine identische paar von Tabellen: CREATE TABLE-foo1 (Id INT) GO CREATE TABLE foo2 (Id INT NULL), das Standardverhalten ändern zwischen Servern, Datenbanken und sogar zwischen Hinrichtungen in derselben Sitzung, so spielen Sie es sicher und immer explizit deklarieren NULL oder NOT NULL.
 
Nereides.Rss.Feeds | Delphi lernen, Delphi Kurs