Gibts hier im Forum: Literaturliste
Ich hab zwar nicht mehr so viel mit Java zu tun, aber die wichtigesten für mich sind eigentlich:
JDK doc und Java ist auch eine Insel.
Klar. Ist ja gleiches Framework.
Stimmt. Es sei denn, du nimmst C++.Net, dann gilt wieder die Frameworkgleichheit. Und es ist relativ ähnlich. (Zeiger/Delegates gibts auch in VB.Net und C#)
Im Endeffekt kommt es hier wirklich auf das spätere Gebiet an.
Da C# und Java von der Syntax her relativ gleich sind (Und folglich auch die Frameworkgeschichte von VB.Net/C++.Net behandelt), würd ich ehrlich gesagt mehr Java lernen. Da lernt man sauberen Code zu schreiben (damit dieser auch plattformunabhängig bleibt). Was folglich auch C#-/VB.Net-Code zu Gute kommt.
Kannst natürlich auch gleich C# lernen. Das impliziert dann halt ein besseres Javaverständnis.
Anmerkung:
"Sprachen lernen" ist eh nicht das Wahre. Wenn man die Algorithmik versteht, dann kann man eh fast alles portieren.
Du kannst dir auch einfach mal die Klasse DataTemplateSelector anschauen. Der DataContext deiner Contentseite gibt dann halt einfach eine IEnumerable zurück, in der ViewModels (DataContext) der einzelnen Subseiten stehen. Diese wiederum wird als Binding auf ein ItemsControl.ItemSource gesetzt und siehe da, dynamisches Laden.
Sowas geht zwar in C# (und VB), allerdings kannst du bei einer Exception nicht sagen, dass die Datenbank bereits geöffnet ist. Wenn du einen leeren/falschen Connectionstring angibst o.Ä. wird er auch ins catch springen, die Datenbank ist zu dem Zeitpunkt aber keines Wegs geöffnet.
(Nur so als Hinweis, aber hast ja selber geschrieben, dass es keine gute Variante ist. :floet:)
Cmd.CommandText = "SELECT max(spielernr) As MAXNR FROM jassen"
TextBox1.Text = (reader("MAXNR"))
Solche Aggregatfunktionen wie MAX, MIN, SUM etc. sind am Besten über ein Alias anzusprechen.
Naja, kompliziert ist nur gut, wenns Vorteile (Performance o.Ä.) bringt. Das Simpelste wäre hier sicher einfach den String(-Array) rückwärts durchzuiterieren.
Aber ich würde glaub ich eher auf Bitebene arbeiten.
ich find das zwar unnötig kompliziert, aber theoretisch gehst du einfach nur den String rückwärts durch, schneidest einen hinteren Buchstaben ab und fügst ihn vorn wieder ran.
Ist das nicht egal?!
Die Verbindungsklassen sind doch alle von System.Data.Common.DbConnection abgleitet und überschreiben somit DbConnection.State.
Und wenn connection == null (nothing) ist sie so und so nicht geöffnet.
Hatte vergessen mir den Eröffnungspost durchzulesen.
Die Progressbar sollte nicht statisch (shared) sein. Denn das heißt, dass sie für jede Instanz der Klasse gleichzeitig benutzt wird (böse bei Multithreading).