Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Portal
  • |
  • Mitglieder
Beiträge von Yellow
Thema: Dokumentation einer Anwendung
Am im Forum: Rund um die Programmierung

Zitat
Original von FZelle
Diese unsägliche (1=0) hat sich mal jemand ausgedacht, der die Funktionsweise
des DataAdapters nicht ganz verstanden hat, und ganz sicher gehen wollte.
Stimmt, ist unnötig... danke für das aufmerksam machen.

Ansonsten, lasst uns lieber wieder den Thread über Dokumentation und Kommentare fortführen und cware Anregungen geben wie sie dokumentieren könnte.

-yellow

Thema: Delete in 3 Schichten Architektur
Am im Forum: Datentechnologien

hallo FZelle,

Zitat
Original von FZelle
Das möglichst viel funktionalität in die DB gehört, erzählen immer
nur die DB-Admins, und die hersteller/Vertreiber von DB-Servern.

Um eine echte Scalierbarkeit zu erreichen gehören reine CRUD operationen
in die DB, alles andere gehört in eine Businessschicht ausserhalb des RDBMS.

Das ist dann "egal"ob es ein echter Appserver oder "nur" ne businessschicht in
der jeweiligen Application ist.

Auch ist beim Scalieren, ein Appserver deutlich günstiger hinzuzustellen, als
ein weiterer SQLServer z.B.

sehe ich vollkommen genauso, bin in diesem Fall trotzdem für Lösung 1 mit Löschweitergabe.

-yellow

Thema: Dokumentation einer Anwendung
Am im Forum: Rund um die Programmierung

hallo cware, hallo ThomasGawehns

Zitat
Original von ThomasGawehns
Ich würde dazu anmerken:

1. Die Tabelle in der Datenbank wird anscheinend nicht geändert, sondern es werden nur neue Zeilen eingetragen.
Jetzt habe ich verstanden was du meintest, stimmt, würde ein "in" statt einem "an" stehen, wäre es weniger missverständlich.
Zitat
Original von ThomasGawehns
2. Die Select Abfrage wird gar nicht erklärt. Das Result sollte immer leer sein (1 = 0). Warum braucht es diese Abfrage? Funktioniert das mit jedem Datenbank Provider?
Gut, in dem Kommentar fehlt noch der Hinweis wofür es gebraucht wird, allerdings bedingt der CommandBuilder einem Schema um seine Commands erzeugen zu können. (1=0) funktioniert afaik immer (nicht wie Top 0, Limit usw.)
Zitat
Original von ThomasGawehns
3. Es wird ein Adapter erzeugt, dieser wird einem CommandBuilder zugewiesen und dann wird eine Methode des Adapters und nicht des CommandBuilders aufgerufen. Hier wäre ein Hinweis gut, daß die Zuweisung wirklich nötig ist, ansonsten könnte man diese ja auch weglassen.
Auch das bedingt sich durch ADO.NET

Man sieht hier wie sich die Meinung zu gutem und schlechtem Dokumentierstil unterscheiden können, was im allgemeinen von der persönlichen Erwartung an die Dokumentation abhängt.

Ich lese Dokumentationen am liebsten in eben diesem von mir vorgeschlagenen Stil, denn wenn ich den Code überfliege interessiert mich nur Blockweise was dort implementiert ist. Warum ich jetzt (1=0) Abfrage, oder warum der DataAdapter dem CommandBuilder zugewiesen wird, das sind Dinge die mich nur so lange interessieren bis ich mit dem Teil des Frameworks vertraut bin, ab dann empfinde ich es nur noch lästig und überflüssig.

-yellow

Thema: Dokumentation einer Anwendung
Am im Forum: Rund um die Programmierung

hallo ThomasGawehns,

Zitat
Original von ThomasGawehns
Wenn die Methode Database.Update heißt, sollte sie wirklich in der Datenbank etwas ändern
...was sie ja auch tut :D.

-yellow

Thema: Delete in 3 Schichten Architektur
Am im Forum: Datentechnologien

hallo Quallo,

das Schichtenmodell stösst in der Praxis häufiger auf die Frage, macht eine strikte Schichtentrennung Sinn oder kaufe ich mir damit nicht nur mehr Aufwand ein und habe keinen Vorteil. Daher sehe ich das Schichtenmodell als Modell... und würde das mit Löschweitergabe über die Datenbank lösen. Warum mehr Aufwand betreiben? Warum sollte die Datenbank nicht über die Daten bescheid wissen? Es können ja keine Schüler ohne Klasse existieren, diese Beziehung hast du auch in deinem Datenbankmodell gepflegt?

-yellow

Thema: Dokumentation einer Anwendung
Am im Forum: Rund um die Programmierung

hallo cware,

ich finde ein gutes Beispiel für Inline-Dokumentation sieht man hier: Providerunabhängige Datenzugriffskomponente. Ich vermute die Dokumentation soll mitunter zeigen ob du den Sachverhalt (oder den Sinn des Codes) in Worte fassen kannst, also, gut auf Formulierung und Rechtschreibung achten. Keine Romane aber auch keine unverständlichen Kommentarbrocken. Das wäre mein Tipp.

-yellow

Thema: Klopapier-Icon: Wozu braucht man das?
Am im Forum: Smalltalk

Registrierkasse... ich will ja nicht kleinlich sein, aber hängen die besagten Rollen auf bestimmten Örtchen nicht andersherum?

-yellow

Thema: Windows XP x86 und Windows XP 64 auf einem PC parallel
Am im Forum: Smalltalk

Zitat
Original von schaedld
Als Tipp: Alloziierte den virtuellen Festplattenspeicher 1:1 mit der virtuellen Maschine, das holt Performance raus.
Hmm? Meinst du damit den virtuellen Festplattenspeicher statisch in der Größe zu vergeben wie der physikalische verbraucht wird?
Zitat
Original von schaedld
Ideal wäre natürlich 4 GB. Je 1 GB für die virtuellen Host's und 2 GB für den Hosting-Recher. Kostet zwar, gibt aber enorm viel Performance.
Ich habe meine 4 GB auf 2 GB "haupt"-virtueller Rechner, und jeweils 1 GB auf den "neben"-virtueller Rechner als auch 1 GB auf den Host aufgeteilt. Wenn dem virtuellen Rechner der Speicher ausgeht beginnt er auszulagern, dass kostet enorm Performance.

Der SQL Server nimmt sich soviel Speicher wie er kann, weshalb ich meinem eine Obergrenze von 256MB gesetzt habe. Außerdem habe ich bei meinem Host das Prozessor-Scheduling auf Hintergrundienste optimiert.

-yellow

Thema: Windows XP x86 und Windows XP 64 auf einem PC parallel
Am im Forum: Smalltalk

hallo tonka,

möglicherweise irgendwelche Logon-Skripte, Policies... wer weiss was der Administrator einem alles Gutes will.

-yellow

Thema: Windows XP x86 und Windows XP 64 auf einem PC parallel
Am im Forum: Smalltalk

Zitat
Original von tonka
Kann man die Registryeinträge von der Domain "entkoppeln" (mir ist so etwas nicht bekannt)

hallo tonka,

die Registryeinträge haben nicht direkt etwas mit der Domäne zu tun. Es ist das Benutzerprofil. Dieses kann entweder ein lokales oder ein servergespeichertes Profil sein. Standardmässig wird einem neuen Domänenbenutzer ein servergespeichertes Profil zugewiesen, das heisst es werden beim Abmelden verschiedene Einstellungen (auch Registryeinträge) auf den Server gespeichert und beim Anmelden vom winlogon-Manager vom Server abgerufen. Diesen Typ kann man auf dem Client ändern, so dass bei Client1 für dein Benutzerkonto ein lokales Profil, auf Client 2 beispielsweise ein servergespeichertes Profil verwendet werden kann.

-yellow

Thema: daten in acess db schreiben
Am im Forum: Datentechnologien

hallo zerberos,

eine Tabelle in Access mit C# erstellen? Benutz' doch bitte die Forensuche, dann wärst du schon lange fündig geworden, so zum Beispiel hier:

Access-Tabelle von C# aus erstellen

Eine Beschreibung zum DataTable-Objekt findest du hier: DataTable-Objekte

-yellow

Thema: Euer Berufsalltag als Programmierer
Am im Forum: Smalltalk

@Haggy
@JuyJuka

Bitte eventuelle Diskussionen über das Leben und Sterben von FoxPro in FoxPro ist tot fortsetzen.

-yellow

Thema: Euer Berufsalltag als Programmierer
Am im Forum: Smalltalk

Hallo KnUlP,

wie tscherno in seinem Post schon sagte, der Informatiker ist zum grössten Teil ein Bindeglied zu einem Fachbereich. Hinter (fast) jeder Anwendung steckt ein Sinn, und die wenigsten Anwendungen entstehen um ihrer selbst. Wenn du zu betriebswirtschaftlichen Themen keinen Bezug hast, gibt es noch so viele weitere Fachbereiche und Problemstellungen die mittels Programmierung gelöst werden wollen. Ich denke viel wichtiger ist für Dich die Frage, macht mir das Entwickeln an sich Freude? Ist es das was ich tun will?

Wenn Du dir diese Frage mit "ja" beantwortest wirst du mit zunehmender Erfahrung feststellen dass sich Projekte in denen auf 3000 Zeilen prozeduraler Code mit einer einzelner Kommentarzeile "Halloween 1998" und andere vollkommentierte, sehr gut beschriebene OO-Projekte abwechselnd sich die die Klinke in die Hand drücken. Mit ein bisschen Phantasie findest du diese Muster aber wohl in jedem anderen Beruf in ähnlicher oder übertragener Form wieder.

-yellow

Thema: Frage zum Buchshop
Am im Forum: Wünsche und Kritik

hallo ikaros,

die Zusammenarbeit mit der Terrashop GmbH besteht schon viel länger als das Buchforum existiert, vielleicht erinnerst Du dich noch an den Buchshop? Jedoch haben wir im Zuge der "Re-Forum-isierung" (nettes Wort ;o)) das ganze in ein Unterforum umgewandelt. (hier nachzulesen). Warum wir uns auf einen Partner / Sponsor konzentrieren? Naja, warum wohl, myCSharp soll für guten Content im Bereich C# / .NET stehen und sich nicht an der Zahl seiner Sponsoren messen.

-yellow

Thema: Frage zum Buchshop
Am im Forum: Wünsche und Kritik

hallo ikaros,

der Buchshop ist in Kooperation mit der Terrashop GmbH entstanden (hier nachzulesen), weshalb wir auch Terrashop häufiger erwähnen. Innerhalb dieses Buchshops finden sich die Bücher vieler Verlage, wie beispielsweise Addison-Wesley, O'Reilly, Microsoft Press, mitp, Markt+Technik, Franzis, bhv, ro, sybex um nur einige davon zu nennen.

-yellow

Thema: Parameter für Select mit "IN" Bedingung
Am im Forum: Datentechnologien

hallo Feinfinger,

ein ADO.NET Parameter repräsentiert immer einen Wert. Das hat nichts mit Visual Studio zu tun. Wenn du also eine kommagetrennte Liste übergibst, wird diese Liste auch als ein Wert behandelt.


... -- so wird's ausgeführt
WHERE (PCONF_ID IN ('Item1,Item2,Item3'))

... -- so hättest du es gerne gehabt.
WHERE (PCONF_ID IN ('Item1','Item2','Item3'))

Wenn du mehrere Werte parameteristiert Abfragen willst, kommst Du nicht umher für jeden Wert einen Parameter zu erzeugen und diesen mit Hilfe der ParameterCollection zu übergeben.

-yellow

Thema: Spaltennamen von tabelle auslesen
Am im Forum: Datentechnologien

hallo Loewchen0507,

ich habe nicht genau verstanden was du nun wissen wolltest, allerdings wirst du in unserem Forum zu allem fündig :D...

zum Beispiel:
Das Dataset-Objekt
Tabellen- und Spalteninformationen aus dem SQL Server auslesen - FAQ
Die Suche liefert noch mehr...

...wie gesagt, ich weiss nicht genau wo Du stehst um Dich da abholen zu können, aber wenn dir die obigen Tipps nicht weiterhelfen, dann bitte nochmal versuchen das Problem näher einzugrenzen.

-yellow

Thema: varchar nach 500Zeichen abschneiden
Am im Forum: Datentechnologien

hmm ok,
darauf hatte ich nicht geachtet...

was hälst du davon:


SELECT 
CASE WHEN LEN(Comment) > 500 
THEN LEFT(Comment, 497) + '...' 
ELSE Comment
FROM tbentry

das sollte dir alle Felder auf 500 Zeichen begrenzen, inklusive "..."

-yellow

Thema: varchar nach 500Zeichen abschneiden
Am im Forum: Datentechnologien

hallo B3nj

oder noch etwas einfacher... also in der Form:


SELECT LEFT(Comment, 500) + '...' FROM tbentry
-yellow

Thema: Was bedeutet serialisieren?
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

hallo Zebes,

Einführung in die XML-Serialisierung

-yellow

Thema: DesignFrage - logisch ähnliche objekte -- Interface?? oder nicht??
Am im Forum: Rund um die Programmierung

stimmt, jetzt hat es klick gemacht.

-yellow

Thema: Wie Entwickelt ihr mit einem Multimonitor System
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

hallo LastGentleman,

ich handhabe das mit 2 Monitoren so... der Hauptbildschirm steht direkt vor mir, auf dem wird die Haupttätigkeit ausgeführt... der Nebenbildschirm steht leicht im Winkel und darf zum Nachschlagen, Nachschauen, Browsen oder als RemoteDesktop-Bildschirm herhalten...

@purestrain
Bei Photoshop kann man die Fenster auch schön verteilen...

-yellow

Thema: DesignFrage - logisch ähnliche objekte -- Interface?? oder nicht??
Am im Forum: Rund um die Programmierung

Zitat
Original von rizi
Ich habe es bis jetzt so gemacht ich habe ein Interface erstellt namens ISettings, das komplett leer ist,also keine Methodenrümpfe und keine Propertys und beide Klassen erben von ISettings und dann habe ich nur eine Methode in der ConfigFile Klasse die so aussieht:

public void WriteConfigFile(ISettings data){
.........
}

kann man das so machen oder ist das eher nicht so toll??

hallo,

was ich nicht ganz verstehe ist warum du das Interface leer lässt, da die beiden von dir genannten Klassen mit der selben WriteConfigFile-Methode verarbeitet werden können/sollen, heisst das ja implizit, dass auch die Daten dieser Klassen auf dieselbe Weise abgerufen werden. Wäre es da nicht sinnvoll diese in beiden Klassen vorhandenen Elemente in deinem Interface aufzunehmen? Eine möglicherweise Dritte oder Vierte Klasse müsste diese ja auch bereitstellen um über die WriteConfigFile-Methode verarbeitet werden zu können.

-yellow

Thema: [erledigt] Tabelle in PDF
Am im Forum: Rund um die Programmierung

hallo haxXxy,

die Suche in google hat mir folgendes Sample ausgespuckt. Vielleicht hilft es Dir weiter. Es zeigt wie man mit MigraDoc Lite und PDFSharp in Kombination arbeiten kann. Und hier wird etwas von "You can render tables or shapes the same way." erwähnt.

-yellow

Thema: Lohnt es sich, ein von VB6 nach VB.NET portiertes Projekt anschließend noch nach c# zu portieren?
Am im Forum: Rund um die Programmierung

hallo macmark,

Zitat
Original von macmark
Und danach schrittweise Komponenten in c# umbaue.

das halte ich für sinnvoll, allerdings würde ich die fertigen Komponenten ruhig in VB.NET lassen, es muss ja nicht zwingend alles in derselben Sprache entwickelt sein.

-yellow

Thema: Lohnt es sich, ein von VB6 nach VB.NET portiertes Projekt anschließend noch nach c# zu portieren?
Am im Forum: Rund um die Programmierung

hallo Cookiie,

Zitat
Original von Cookiie
Alles in allem kann ich sagen, wenn MS es schafft die AufwärtsKompabilität zwischen den einzelnen Versionen zu verbessern. Sprich, wenn ich ein Programm unter 2.0 entwickle soll es auch unter 3.0 laufen, ohne das 2.0 installiert ist. Dann bin ich glücklich.

ich glaube du bist glücklich, soweit ich weiss gab es dieses Kompatibilitätsproblem nur bei 1.1 und 2.0.

-yellow

Thema: Lohnt es sich, ein von VB6 nach VB.NET portiertes Projekt anschließend noch nach c# zu portieren?
Am im Forum: Rund um die Programmierung

hallo macmark,

wie herbivore schon gesagt hat, die Meinung wird in einem C# Forum wohl sehr einseitig ausfallen. Ich selbst bin von VB6 über einen kurzen Ausflug zu Beginn von .NET nach VB.NET zu C# gewechselt. Ausschlaggebend waren hier 3 wesentliche Punkte, der Erste war die klare Trennung im Kopf zu der alten VB6 Syntax, man war doch immer wieder versucht wie in VB6 zu programmieren. Der Zweite war die syntaktische Ähnlichkeit zu Java, was insbesondere das lesen von Code (weil gewohnter) und das adaptieren von KnowHow einfacher machte und der Dritte war der "empfindlichere" C#-Compiler der einfach zu "saubererem" Code führte.

Ich habe auch ein Projekt unter mir, das zum Teil aus VB.NET Assemblies, zum Teil aus C# Assemblies besteht, und kann hierzu nur sagen es funktioniert einwandfrei. Von daher halte ich auch einen "sanften" Wechsel von VB.NET nach C# für möglich.

-yellow

Thema: Sonderzeichen vor INSERT bearbeiten
Am im Forum: Datentechnologien

hallo f.ritz,

ich kann FZelle nur beipflichten... parametrisierte Abfragen sind das A und O für die Datenbankabfrage.

Angenommen deine Abfrage würde

SELECT * FROM T_Kunde
heißen, dein Replace-Algorithmus würde daraus

SELECT * FROM T[_]Kunde
machen, und die Abfrage würde ne Exception schmeissen.

-yellow

Thema: Datentyp text und ntext - wie groß?
Am im Forum: Datentechnologien

hallo zusammen,

was man aber dringend beim Verwenden von nvarchar und dergleichen beachten sollte ist zum Einen die max. Grenze von 4000 Bytes (SQL Server 2000) bzw. 8000 Bytes (SQL Server 2005) pro Feld, als auch zum Anderen die max. Größe einer Zeile von 8060 Bytes. Gerade weil mit den Datentypen variabler Feldlänge eine Überbuchung der max. Länge möglich ist, läuft man Gefahr diese außer acht zu lassen. Mehr dazu in der MSDN: http://msdn2.microsoft.com/de-de/library/ms186981.aspx

Daher würde ich für größere Texte schon text oder ntext benutzen.

-yellow

Thema: Performance bei string ?
Am im Forum: Datentechnologien

hallo martin_zi,

nein, für eine Tabelle gibt es keinen SQLParameter. Hier würde ich den Tabellenamen über eine String-Verkettung bzw. einem StringBuilder an die SQL-Anweisung anfügen, insofern der Tabellenamen nicht aus einer Benutzereingabe herrührt. Dann müsstest du die Benutzereingabe entwerten bevor du sie in die SQL-Anweisung übernimmst um die Gefahr einer SQL-Injection zu vermeiden.

-yellow