Zum Inhalt springen

just_me

Mitglieder
  • Gesamte Inhalte

    196
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von just_me

  1. Ich denke, was du suchst sind Sub-Selects. SELECT TOP 1 (SELECT TOP 1 [attribut1] FROM [tabelle1]) AS [attributname1], (SELECT TOP 1 [attribut2] FROM [tabelle2]) AS [attributname2], (SELECT TOP 1 [attribut3] FROM [tabelle3]) AS [attributname3], ..., [attributN] as [attributnameN] FROM [tabelleN] liefert ein Resultset, wie das folgende: | attributname1 | attributname2 | attributname3 | ... | attributnameN | -------------------------------------------------------------------------------------------- | attributwert1 | attributwert2 | attributwert3 | ... | attributwertN |Allerdings gebe ich zu, dass ich wild spekuliere. Der Informationsgehalt deiner Anfrage liegt nahe <NULL>...
  2. Das ist ein interessantes und sehr kontroverses Thema. Hierzu wird in der Fachwelt ziehmlich heftig diskutiert, da die möglichen Ansätze ebenso vielfältig sind, wie die möglichen Ziele, die es zu erreichen gilt. Im Wesentlichen gibt es zwei grundlegende Ansätze, die sich in Umsetzung und Aufwand gravierend unterscheiden. Alternative I -> Voraussetzung: Daten sind dynamischer Bestandteil der Software. (Das ist gewöhnlich dann der Fall, wenn verschiedene Programme auf die gleichen Daten zugreifen oder zugreifen können.) -> Lösung: Filtern der Daten auf der Ebene von Views. + Die Geschäftslogik "Datenfilter" bleibt dort, wo sie hingehört: Direkt bei den Daten. + Das Einpflegen neuer, das Löschen alter sowie das Ändern vorhandener User und deren Rechte erfolgt unabhängig von Software und Daten. + Es ist nicht notwendig komplexe Berechtigungssätze zu entwickeln, die zudem bereits bei geringfügigen Änderungen an der Datenstruktur massiv und unter hohem Aufwand korrigiert werden müssen. Alternative II -> Voraussetzung: Die Daten sind von der Software transitiv abhängig. (Das ist gewöhnlich dann der Fall, wenn hochspezialisierte Software auf hochspezialisierte Daten zugreift. Beispiel: Ein Vermessungssystem legt Daten in aufbereiteter Form ab, um diese für ein vektororientiertes grafisches System, dessen Engine klar definierten Erfordernissen angepasst wurde, zur Verfügung zu stellen.) Hier macht es keinen Sinn, die Daten von der SW zu trennen, da diese ohne sie ihre Existenzberechtigung verlieren. -> Lösung a: Transparente semi-dynamische Bindung mittels einer Benutzerdatenbank (UDB) + Bei kleineren Systemen vermindern sie den Pflegeaufwand. (Sie wirken, entsprechend der umgesetzten BL, wie "dynamische Views") + UDB's gestatten die Nachbildung respektive Bildung von Zugriffsgruppen und ermöglichen eine weitgehend dynamische Pflege. - Hoher Transaktionsaufwand, da die UDB permanent gepollt werden muss. - Gewaltiger Kontrollaufwand, da jede einzelne Abfrage - insbesondere, wenn diese vom Anwender direkt eingegeben und/oder ausgewählt werden darf - zunächst die Sicherheitsebene durchlaufen muss. - Die zusätzlich verursachten Transaktionen können, auch und gerade bei Remotesystemen, zu enormen Laufzeiten und Kosten führen. -> Lösung b: starre Bindung zwischen Software und Daten Wird häufig dann verwendet, wenn die Sicherheit höhere Priorität als die mögliche Personalfluktuation hat. (Beispiel: Die Software zieht "personengebunden" Daten aus einer Datenbank - bspw. eine Analyse-SW für das Top-Management.) + Die Sicherheitsebene ist starr konstruiert und daher wenig anfällig gegen Störungen (bspw. Diebstahl oder Manipulation). + Im Gegensatz zu Alternative II Lösung a wird der Kontrollaufwand zu 100% in die Software verlagert, was Geschwindigkeitsvorteile und Verminderung von Roundtrips bringt. - Bei Personalfluktuation kommt es zu Störungen im Betrieb und gelegentlich hohen Adaptionskosten, da die entsprechenden Änderungen fest codiert werden müssen. ------------------------ Ich habe hier lediglich einen absolut rudimentären Kern von Möglichkeiten umrissen (und selbst hier noch an der Schilderung der entsprechenden Vor~ und Nachteile gespart), um den Rahmen dieses Forums nicht zu sprengen. Trotzdem - oder besser: gerade deswegen - hoffe ich, dass die dargelegten Ansätze dabei nicht den Überblick missen lassen. Wie ich oben bereits andeutete, ist diese Aufgabe Gegenstand ungezählter Fachtagungen, Artikel und Bücher. Es wäre also unmöglich, hier und jetzt das Problem von allen Seiten zu durchleuchten, und die entsprechend richtige Lösung aus dem Hut zu holen. Dies gilt insbesondere, da du doch recht sparsam mit deinen Informationen warst. Wenn also Sicherheitsbelange und technische Umgebung es zulassen, sollte den entsprechenden Designpattern gefolgt werden. Nicht umsonst haben sich Experten für beinahe jeden Anwendungsfall entsprechende adaptive Muster einfallen lassen, wie was wann wo am Besten um- respektive durchzusetzen ist.
  3. 'n more specific: Backwards Breaking Changes from version 1.0 to 1.1
  4. Technology Information for the .NET Framework 1.1 Suchst du sowas?
  5. Um diese Fragen ausführlich und umfassend beantworten zu können, müsste man ein mittleres Referat schreiben. Daher in aller gebotenen Kürze: Transact-SQL (T-SQL, TSQL) ist ein proprietärer Sybase-Microsoft-Standard, der aufgrund von Abweichungen vom SQL92 bzw. SQL99 Standard entstanden ist. EDIT: Da bin ich wohl einem Missverständnis aufgesessen "osql" ist - und ich denke, das meinst du wohl - ein Dienstprogramm des MS-SQL-Servers. ODBC ist der "Open-Database-Connectivity"-Standard. Er kapselt die Datenbank-Funktionalität transparent. Vorteil: Die exakte Funktionalität der DBMS kann vor dem Anwender versteckt werden. Es ist nicht mehr notwendig 234523452345209345 verschiedene Dialekte einer Sprache lernen zu müssen. Portierungen von DB' und/oder Anwendungen können fließend - ja sogar direkt innerhalb von Produktivumgebungen - vorgenommen werden. Nachteil: Die notwendigen bilateralen Konvertierungen jeder einzelnen Anweisung (bspw. Abfrage) kosten Zeit und damit Geld. Anwendung1 <=> [ODBC] <=> DB1 Anwendung1 <=> [ODBC] <=> DB2 Anwendung2 <=> [ODBC] <=> DB1 Anwendung2 <=> [ODBC] <=> DB2 statt Anwendung1 <=> [proprietärer Treiber1] <=> DB1 Anwendung1 <=> [proprietärer Treiber2] <=> DB2 Anwendung2 <=> [proprietärer Treiber1] <=> DB1 Anwendung2 <=> [proprietärer Treiber2] <=> DB2Proprietäre Protokolle sind im Gegensatz dazu zwar oft schwieriger zu befolgen, aber i.d.R. schneller und stabiler in der Ausführung. Essentiell ergibt sich also: "Normales" SQL gibt es nicht. Es gibt statt dessen 6564644616 verschiedene Dialekte, die man im SQL92~ (dieser ist noch am verbreitetsten) respektive im SQL99-Standard zu "normalisieren" versucht hat, was aber traditionell an den marktwirtschaftlichen Gegebenheiten scheitert. Auf abstrakter Ebene definiertes "SQL" (wie du es sicher meinst) kann in der Tat auf entsprechende DBMS' "losgelassen" werden, wenn diese in der Lage sind, diese Anweisungen zu interpretieren. ... Mit anderen Worten - und als Antwort auf deine Frage: ja und nein. Ausführliche Informationen findest du im I'net unter anderem unter den Stichworten: relationale Datenbanksysteme, TSQL (transact SQL), osql (Dienstprogramm) [Onlinehilfe des MS-SQL-Servers] PS: Ich weiß, dass diese Antwort sehr fuzzy ist. Bedingt durch deine Fragestellung wäre es aber notwendig, Grundlagen detailliert zu erörtern. Daher schlage ich dir vor, dass du dir ein Buch zur SQL besorgst, in der Onlinehilfe des MS-SQL-Servers oder einfach mal im I'net stöberst.
  6. @U[[ °LoneWolf°, wenn du deine Unterlagen korrekt liest, wirst du folgendes feststellen: 1. MCP wird man, nach der ersten erfolgreich absolvierten MS-Prüfung. 2. Diese Prüfung ist nicht gebunden, sondern kann frei gewählt werden. 3. Dieselben Prüfungen werden für verschiedene Zertifikate anerkannt. Daraus ergibt sich konsequent: Machst du die Prüfung 70-293 (Planning and Maintaining a Microsoft Windows Server 2003 Network Infrastructure), dann bist du MCP UND hast gleichzeitig die erste Prüfung auf dem Weg zum MCSE absolviert. Wahlweise könntest du auch mit einer der anderen (derzeit 14) möglichen Prüfungen beginnen. Das Resultat ist immer das Gleiche: Nach der ersten bestandenen Prüfung bist du AUTOMATISCH MCP - ob du nun willst oder nicht. Wir können zusammen noch ein Beispiel machen: Wenn du dich entscheiden solltest MCSD.NET werden zu wollen, dann wird die Prüfung 70–320 (Developing XML Web Services and Server Components with Microsoft Visual C# and the Microsoft .NET Framework) sowohl die erste Prüfung auf dem Weg zum MCSD.NET, als auch die (falls du noch keine andere abgelegt hast) notwendige für die Qualifikation zum MCP sein. Du hast Recht, wenn du sagst, dass der MCP für weitere Qualifikationen implizit ist. Allerdings wird er dir aufgezwungen - du MUSST ihn "mitnehmen", wenn du dich weiterqualifizieren willst, ob du willst oder nicht. Er ist also im Wesen nichts anderes als ein "Abfallprodukt" deiner Qualifizierung. @diana Ich sehe zwischen der Formulierung und himmelweite Unterschiede. Abgesehen davon: Wenn man es nicht einmal schaffst, für die ganz besonders Faulen und/oder Dummen vorformulierte Fragen und Antworten auswendig zu lernen, dann ist so eine Prüfung wirklich schwer, da gebe ich dir Recht. In der Tat haben viele Absolventen der MS-Prüfungen/MS-Zertifikate dafür gesorgt, dass das fachliche Niveau in den Keller gesunken ist, und man bereits begonnen hat, Absolventen gewisser Kurse, wie bspw. MCSA und MCSE, kritisch zu beäugen. LINUX hat sich in dieser Hinsicht (noch?) nicht so weit kompromittieren lassen. @all Vielleicht sollte man einmal mit einem generellen Missverständnis aufräumen. Die von verschiedenen Herstellern angebotenen Zertifikate dienen ursprünglich nicht dazu, Leute zu qualifizieren, sondern zu bestätigen, dass sie über die entsprechenden Qualifikationen verfügen. Während man sich also bei ersterem Weg neues Wissen aneignet, ist der eigentliche Gedanke darauf gerichtet, vorhandenes fachliches Wissen, das ja bekanntlich nur "virtuell" existiert, mit Hilfe einer (oder mehrerer) Prüfungen zu verifizieren und mit entsprechenden Zetteln zu belegen. Wie können die Prüfungen/Zertifizierungen dann also schwer sein?
  7. *lol, es ist erstaunlich, wie viele Meinungen hier zutage treten, wenn es mit simpler Recherche zu vermeiden wäre, Gerüchte in die Welt zu setzen... Der Link: http://www.microsoft.com/learning/ Sagt wer? Prüfungen für MS kosten derzeit etwa ab 140 € netto. Sagt wer? Das mag für qualifizierte Trainings gelten. Wer allerdings zu Hause lernen will - Material und Bücher gibt es zu diesem Zweck zur Genüge -, der muss lediglich für die Prüfungen "blechen". Sagt wer? Es gibt KEINE Verpflichtung, "Bestätigungsprüfungen" abzulegen, da der Innovationszyklus enorm kurz ist. Letzterer sorgt per se schon für entsprechend aktuelles Wissen... So? Der MCP (Microsoft Certified Professional ) ist das erste Zertifikat, das JEDER nach der ersten bestandenen Prüfung erhält. So? Das Gegenteil ist der Fall. Wer in der Lage ist, selbständig Wissen erarbeiten zu können, wird mit einem Selbststudium KEINERLEI Nachteile erfahren. Es gibt mehr als genug offizielle und inoffizielle Bücher, Skripte, Dumps und ... und ... und ..., die dafür prädestiniert sind, nebenberufliche Weiterbildung zu ermöglichen. just_me zertifizierter MCP, MCSA, MCSE 2k, MCSE 2k3, MCSE: Security, MCAD, MCSD, MCSD.NET und MCDBA 2k (4 dieser Zertifikate habe ich im reinen Selbststudium erworben.)
  8. just_me

    SNTP starten

    Der Zeitgeberdienst (SNTP) - definiert im RFC 2030 - wird unter Windows als "Windows-Zeitgeber"-Dienst bezeichnet (W32time). Er befindet sich in der Dienste-Managementkonsole und ist von dort aus konfigurierbar. Weitere Infos: KB-Artikel 224799, 223184, 323621
  9. Das Timeout wird beim SQL-Server für jede Abfrage dynamisch berechnet. Eine Festlegung ist daher eher kosmetischer Natur. Grundlage der Berechnung sind die Transaktionskosten, die Serverauslastung sowie einige weitere Faktoren. Mit der vordefinierten Prozedur sp_configure kannst du die entsprechenden Daten (hier 'query wait') anschauen und gegebenenfalls ändern. Allerdings kann es sein, dass der SQL-Server deine Meinung tapfer ignoriert, wenn er meint, dass du weniger Recht hast. Mein Tipp: Üblicherweise findet man (fast) immer einen Weg, komplexe Abfragen in weniger zeitaufwändige Operationen zu überführen. Prüfe also mal das/die Statements, ob es/sie sich evtl. in mehrere Schritte zerlegen lässt/lassen. Der erhöhte Arbeitsaufwand wird dir durch eine ausgeglichenere Serverlast gedankt werden.
  10. just_me

    Ist das richtig ?

    Gemäß deiner Definition gibt es kein Attribut Spieltag in deinem Relationenschema. (Das ist vermutlich nur ein Replikationsfehler, denn in jedem anderen Fall würdest du entsprechende Fehler erhalten.) Ansonsten sollte diese Abfrage allerdings die gewünschten Daten zurückgeben, vorausgesetzt, du hast darauf geachtet, dass die Integrität der Daten durch entsprechende Schlüssel und Einschränkungen bereits in der DB sichergestellt wird... Peregrins Idee, dem Subselect ein Alias zuzuweisen ist allerdings überflüssig. Es dürfte funktionieren, vorausgesetzt, das DBMS unterstützt die Auflösung von Alias-Namen. (In diesem Fall würde ich dir aber eher dazu raten, das globale Select-Statement übersichtlicher zu machen, indem du dich nicht auf die Eindeutigkeitszuordnung, sondern auf die imperative Deklaration verlässt.) Da das Subselect-Statement unabhängig vom anfordernden Select-Statement ausgeführt wird, kann es nicht zu "Verwechslungen" kommen. Lediglich die Ergebnismenge des Subselect-Statements ist mit dem globalen Select-Statement verknüpft.
  11. Schau mal im MSDN unter den Stichworten Shell Links und IShellLink nach. Die Dokumentation ist relativ ausführlich ...
  12. Allgemein: Schau mal in das MSDN unter dem Stichwort parametrisierte Abfragen oder parametrisierte Statements. Dort dürftest du ebenfalls fündig werden. Insgesamt rate ich dir auch, dich mal mit der SQL auseinanderzusetzen. Speziell: Zunächst hindert dich sicher das SQL-Statement daran, tatsächlich sinnvoll Daten zu schreiben. Gegen deine Idee, "einfach mal so" alles in einen String zu schreiben, ist zwar im Ansatz nichts einzuwenden, weil man mit dem .NET zwar bestrebt ist, alles einfacher zu machen, aber SO einfach ist es denn nun auch (noch?) nicht. [color=red]string updateCmd = "UPDATE Partner1 SET name = @Name WHERE id = @ID";[/color] ... [color=blue]myCommand.Parameters.Add("@Name", OleDbType.VarChar, 10, "Name"); myCommand.Parameters.Add("@ID", OleDbType.Integer, 4, "ID");[/color] Ein Aufruf mit da.Update(Partner1);sollte dann die entsprechenden Ergebnisse zeitigen...
  13. XML-Datenbanken unterstützen (oder sollten es zumindest, wenn sie etwas auf sich halten) XQL (XML Query Language) ... Zumindest der MS-SQL-Server2000 (und seine Nachfolger) unterstützt respektive unterstützen english query ... Außerdem gibt es noch eine ganze Reihe Sprachen, die aber mit Sicherheit eher theoretischer oder heute eher beiläufiger Natur sind. Einige Beispiele: - relationales Algebra (Bsp: ISBL) (prozeduraler Aufbau) - Tupel-orientierte Abfrage (Bsp: QUEL ) (anhand eines Satzes von Beziehungen werden Ergebnisse "gefiltert") - Domänen-relationale Abfrage (Bsp: QBE, Paradox von Borland) (der Ansatz hier liegt in der Formulierung von Variablen, Bedingungen und wohlgeformten Formeln) - IMS, IDMS, Total, Image/3000, OQL, Dataphor, Tutorial D, Alpha und Sequel sind weitere Stichworte für Datenbanksprachen ...
  14. en Detail Essentiell sind die Unterschiede also extrem. 1. timestamp ist aktuell nicht SQL-92 konform. 2. timestamp ist mit hoher Wahrscheinlichkeit nicht "aufwärtskompatibel". 3. timestamp darf in jeder Tabelle nur einmal auftreten. 4. timestamp wird automatisch bei update und insert aktualisiert. 5. timestamp dient, entsprechend seinem Namen "Zeitstempel", lediglich damit als Indikator für Änderungserfassungen. 6. timestamp erfasst ein "Pseudodatum", das mehr ein eindeutiges (hier liegt die Betonung) "Datum" (also einen Datenwert) repräsentiert, als das, was üblicherweise der Volksmund meint, wenn er von Daten spricht und Kalenderdaten meint. 7. timestamp lässt sich als datetime casten. Diese Umwandlung ergibt aber nur dann Sinn, wenn berücksichtigt wird, dass der Ergebniswert kein echtes Datum, sondern lediglich einen tabellenweit eindeutigen Binärwert ergibt, dessen Zählung in jeder Datenbank beim "Pseudodatum" 1.1.1900 00:00:00.000 beginnt, und der im Zuge der Eindeutigkeit (als einzigem Parameter) geändert wird. Kurz gesagt: timestamp ist kein echtes Datum, kann aber dafür missbraucht werden. 8. datetime hingegen hat die Funktion, ein "reguläres" Kalenderdatum, ganz wie Darth_Zeus es bereits beschrieb, zu erfassen. In Erweiterung seiner Darstellung erfasst datetime auch die Zeit als 4-Byte-Wert, gemessen in Millisekunden nach Mitternacht. (Diese Liste erhebt keinen Anspruch auf Vollständigkeit.) Hinweis:
  15. just_me

    C# forms ansprechen

    Grundlagen der Objektorientierung: Übergeben eines Verweises auf Form1 an Form2.
  16. .NET benutzt die veralteten .ini-Dateien nicht mehr. Statt dessen gibt es die XML-Konfigurationsdateien und mit ihnen eine ganze Reihe XML-Klassen. (U.a. auch solche, die auf "Konfigurationsdaten" spezialisiert sind.) Stichworte: - AppSettingsReader-Klasse, - ConfigurationSettings-Klasse, - NameValueSectionHandler-Klasse, - XmlReader-Klasse, - XmlWriter-Klasse - ... Nachtrag: Falls du die Daten aus einer .ini lesen musst, schlage ich vor, den StreamReader zu benutzen, zeilenweise einzulesen und am "="-Zeichen zu trennen. (Vorn steht dann der Schlüssel, hinten der Wert.)
  17. just_me

    AddIn-Meschanismus in C#

    Es gibt drei mögliche Wege, PlugIn’s zu realisieren. 1. Schnittstellen 2. Basisklassen 3. Attribute Sie besitzen alle unterschiedliche Vor- und Nachteile. (Ich persönlich bevorzuge die Schnittstellenimplementierung.) Der Weg ist jedoch bei allen identisch: (Ich gehe davon aus, dass du mit den Grundlagen vertraut bist und lasse daher die Details weg.) 1. Laden des Assemblies in die lokale Anwendungsdomäne System.Reflection.Assembly assembly = System.Reflection.Assembly.Load([i]PlugIn[/i]); [i]oder[/i] System.Reflection.Assembly assembly = System.Reflection.Assembly.LoadFrom([i]PlugIn[/i]); (LoadWithPartialName ist aus Sicherheitsgründen nicht zu empfehlen.) 2. Holen der exportierten TypenType[] types = assembly.GetExportedTypes(); 3. InstanziierenSystem.Activator.CreateInstance(types[0], args);[/i] That’s it...
  18. Nimm ExtractAssociatedIcon aus der gleichen .dll.
  19. Indem du die API-Funktion ExtractIcon oder ExtractIconEx aus der shell32 wrappst.
  20. Schlechte Nachrichten: Abhilfe: ... wollen doch mal schauen, was die Accesshilfe so sagt ... Stichworte: Sicherheit und Informationen zur Sicherheit auf Benutzerebene
  21. treeView1.ImageList = imageList1; // (Assumes that imageList1 contains at least two images and // the TreeView control contains a selected image.) treeView1.SelectedNode.ImageIndex = 0; treeView1.SelectedNode.SelectedImageIndex = 1; 1. Einfacher kann man es nicht erklären. 2. RTFM
  22. Ich schätze, du sitzt da einem landläufigen Irrtum auf. Schlagen wir mal die Hilfe auf: Alternativen: Wenn du es also gemäß deinen Anforderungsparametern haben willst, wirst du, da gebe ich beetFreeQ völlig Recht, um einen Trigger wohl nicht herumkommen. Wenn du allerdings keinen Wert auf das Datum legst, kannst du timestamp - oder besser rowversion - benutzen. Vorschlag: RTFM
  23. just_me

    buch für c#

    *lol, keine Panik. Dazu hat keiner der Autoren, deren Bücher ich hier stehen habe, die Zeit gefunden. Zum Einen, weil es bereits genügend gute Literatur zu diesem Thema gibt, zum Anderen, weil die entsprechenden Bücher dann einen Umfang von mehreren tausend Seiten haben müssten, wenn sie ihr Primärziel nicht aus den Augen verlieren wollten. Keines der Bücher ist "reine Theorie". Vielmehr verstehen sich die meisten dieser Bücher als Leitfaden. Sie werden dir die Informationen auf einer etwas abstrakteren Ebene liefern, als es die "XXX for Dummies"-~ oder "Programming with XXX"-Bücher machen. Letztere sind darauf ausgelegt, schnelle, unmittelbare "Erfolge" in einer Art Plazebo-Effekt zu vermitteln, der allerdings schlagartig nachlässt, wenn es "an's Eingemachte" geht. Die anderen mögen vielleicht mit Code-Beispielen sparsamer umgehen, doch du wirst es spätestens dann zu schätzen wissen, wenn du feststellst, dass Abstraktion den unschlagbaren Vorteil hat, dass es in nahezu identischer Formulierung auf verschiedene Lösungen fitted. PS: Dummerweise habe ich den Link für den ASP .NET Developer's Guide nicht richtig gesetzt. Das hole ich hiermit nach.
  24. just_me

    buch für c#

    Ich weiss, dass dieser "Rat", den ich zu geben gedenke, jetzt mehr oder weniger auf taube Ohren stoßen wird. Und doch möchte ich es nicht unversucht lassen, die Frustration schon im Vorfeld weitestgehend auszuschließen oder zumindest zu minimieren: Im Gegensatz zu der relativ großzügigen Auslegung des Begriffes Objektorientierung auch und gerade in der MFC, orientiert sich das .NET-Framework extrem daran, ja, es IST erstmalig reine Objektorientierung. Java, mit dem du dich, wie du selbst sagtest "nicht so richtig anfreunden" konntest, war - wenn du so willst - in der Mitte zwischen der MFC einerseits und dem .NET-Framework andererseits. Ein Ansatz wie dieser wird dich also mit an Sicherheit grenzende Wahrscheinlichkeit entweder sehr schnell in eine Sackgasse oder alternativ in die Arme der Frustration treiben. Da das Framework derzeit 29 Programmiersprachen bedient, ist der "MFC-Weg" á là «Ich lern' mal eben die Sprache, der Rest ergibt sich von allein.» einfach ausgedrückt der größtmögliche Umweg. (Das sage ich dir aus eigener Erfahrung.) Das .NET-Framework besteht aus einer Reihe von ca. 75 verschiedenen Namespaces die etwa 5'300 Klassen (zu Zeiten der B2-Version) beherbergen. Schon allein daran kannst du erkennen, dass sich eine "Hilfe" (die MSDN.NET) mit einem derzeitigen Umfang von grob geschätzten 23'000 Seiten mehr als notwendig erweist. Mir ist es bis heute schleierhaft, warum man die "Hilfe" mehr als Referenz, denn als echtes "Nachschlage- und Studierwerk" konzipiert hat, aber letztendlich müssen wir damit leben. Das heißt jedoch, dass diese "Hilfe" - zumindest anfangs - den Namen nicht einmal annähernd verdient, und dich, salopp ausgedrückt, mehr als einmal ins Bockshorn jagen wird. Und auch die Tatsache, dass es derzeit, also gerade mal 2 Jahre nach seiner Einführung, etwa 300 Bücher rund um das Thema .NET gibt, sagt dir sicher, wie umfangreich dieses Thema ist, und wie wichtig entsprechende Grundlagen sind. Daher halte ich es für dringend geboten, dass jeder, der sich ernsthaft mit dem .NET-Framework auseinandersetzen will (und das 'wollen' alle, die sich einer der .NET-Sprachen bedienen - jedenfalls mehr oder weniger), sich auch mit den entsprechenden Basics befasst. Aus diesem Grunde rate ich dir eindringlich zu der von dir so verschmähten "Theorie", denn der Bruch mit der MFC-Tradition wird radikal, das garantiere ich dir. Meine Tipps: Ich glaube, ehrlich gesagt, nicht an die wunderversprechenden Buchreihen, wie "??? for Dummies" oder "XXX in 21 Tagen", weil man dort letztlich nur in die Irre geführt wird. Man bekommt bunte Bonbons, es wird gezeigt, was möglich ist, WENN MAN WEISS, WIE ES GEHT, aber der Umfang und die Zielrichtung zeigen schon recht deutlich, was diese Bücher in jedem Fall sind: nichts als Geldverschwendung. Nichts, was man in solchen Büchern findet, könnte man - neben vielen anderen Informationen - nicht auch in einem der unendlich vielen Fachforen nachlesen. Daher habe ich mich bemüht, eine Auswahl zu treffen, die - zumindest was den Einstieg betrifft - "rund" sein dürfte: Die MSDN verschmäht, verbrämt und trotzdem ein schier unerschöpflicher Quell des Wissens. der microsoft'sche Newsserver rund 10 deutschsprachige und etwa 30 englischsprachige .NET-Foren warten auf dich ... Programming Microsoft Windows with C sharp, w. CD-ROM Wenn schon, dann nimm dir wenigstens den Petzold her. Als einer der "Ur-Väter" der Windowsprogrammierung und mit einer Dokumentations- und WinProgrammiererfahrung von nunmehr rund 20 Jahren geht er in seinem Buch den traditionellen - und dir sicher nicht unvertrauten - Weg. Er beschreibt haarklein (für meinen Geschmack viel zu detailliert) verschiedene Komponenten und Klassen. Allerdings leidet durch diese Herangehensweise der Überblick enorm. Trotzdem habe ich es als Nachschlagewerk immer gern in der Nähe. (Das war mein 2.Buch zum .NET.) Die .NET-Technologie, m. CD-ROM Ein gutes Einsteigerbuch, das man auch mal "ganz entspannt" im Zug oder im Café lesen kann. Es geht auf die wesentlichen Aspekte des Frameworks ein, ohne diese allzu spezifisch zu erläutern. Microsoft .NET Framework Programmierung Ein typischer Richter. Klar, deutlich, kompromisslos. DAS Referenzwerk für den Überblick. Microsoft .NET Entwicklerbuch Ein Buch, das Appetit macht. Kauf es. Lies es. Und - mein Tipp - sieh zu, dass ein Rechner in der Nähe ist, denn viele Beispiele will man gleich mal durchspielen. Mit diesem Buch hat Prosise gute Arbeit geleistet. Natürlich gibt's auch gute Bücher zu ASP.NET. Hier ist mir die Auswahl besonders schwer gefallen, da viele Bücher mehr oder weniger das gleiche Ziel haben. Möglicherweise solltest du vor der Entscheidung besser im Bücherladen stöbern und dich in die verschiedenen Autoren und deren Herangehensweise einlesen. Allerdings erscheint mir Greg Buczek als ein sehr versierter Autor, der es versteht, Sachverhalte auf den Punkt zu bringen. (Ganz im Gegensatz zu mir, der ich für ein paar wenige Empfehlungen ganze Romane schreibe. sry4that.) Developing .NET Web Services with XML Jorgensen, ein Autor, der mir bis zu diesem Buch noch nie unter die Finger kam, hat hier seine Prämisse auf - der Titel sagt's deutlich - Webservices und XML gelegt. Ich halte dieses Buch für einsame Spitze, allerdings würde ich es nicht "mal eben zwischendurch" lesen wollen. (Grundlagenwissen setzt er definitiv voraus; es ist also kein Buch für Warmduscher oder Turnbeutelvergesser.) Natürlich gibt es noch viele weitere gute und weniger gute Bücher rund um das .NET-Framework. Gut 150 davon zieren derzeit meinen Bücherschrank. Aber nach reiflicher Überlegung habe ich die o.g. als die IMHO besten für einen schnellen und sauberen Einstieg ausgewählt. Tatsächlich halte ich diese Ausstattung für atomar. Nicht eines dieser Bücher wird dir sagen: "Nehmen Sie jetzt die Klasse A aus dem Namespace B und fügen sie diese ein. Zupfen Sie danach Komponente C auf Formular D; tippen Sie dann folgenden Code ab ... und voilá! ... das ist Ihr Programm." Vielmehr verstehen sich diese Bücher als Leitfaden, als Leuchtfeuer auf deinem Weg in ein unglaublich interessantes und spannendes Gebiet. once again, thx 4 ur patience... ... and enjoy .NET
  25. @Jaraz 1. Es steht die Frage, warum diese Tabelle in die 5.NF gehoben werden sollte. Wenn die Bedingung lautet, einen Select über die Tabelle laufen zu lassen, und dieser sich als komplex erweist, ist es natürlich schön, wenn man ändern und den aktuellen Wünschen entsprechend anpassen kann, aber es ist mindestens ebenso fraglich, ob eine Änderung á là "... was wäre, wenn ..." wirklich erfolgsversprechend ist. Nebenfrage: "Was wäre, wenn diese Tabelle Teil einer OLAP-Anwendung ist?" Dann wäre Normalisierung schlicht "tödlich", weil nervenaufreibende Optimierungsvorgänge stattfinden müssen, die man mit so simplen Dingen, wie einer "schlichten" Normalisierung vermeiden kann. 2. Ist die Diskussion eines "Was wäre, wenn..." ganz sicher nicht im Sinne der Aufgabe, oder? @etops Ich vermute, dass du mit einer einfachen Abfrage nicht allzu weit kommen wirst. Allerdings ist mir keine Situation geläufig, in der UNION nicht mit einem SELECT COUNT kooperieren würde. Eine mögliche Alternative ist es, über alle Spalten separate, evtl. nach Gruppen aufgelöste, SELECTs laufen zu lassen, und die Ergebnisse dann mit array_merge zu mischen.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...