Laden...

Forenbeiträge von st@tic Ingesamt 281 Beiträge

03.04.2014 - 14:51 Uhr

ich schau mal ob ich damit was anfangen kann. danke

03.04.2014 - 13:53 Uhr

Ich habe eine kleine XML Datei, welche als Datengrundlage für Comboboxen dient.

Ich hab die XML-Datei mal gekürzt und nur das wesentliche reingepackt


<?xml version="1.0" encoding="utf-8" ?> 
<Data>
<Scanners>
    <Scanner>
      <DisplayName>Scanner 9</DisplayName>
      <ID>9</ID>
    </Scanner>
    <Scanner>
	<DisplayName>Scanner 0</DisplayName>
	<ID>0</ID>
     </Scanner>
     <Scanner>
	<DisplayName>Scanner 1</DisplayName>
	<ID>1</ID>
     </Scanner>
</Scanners>
</Data>

Mein Ziel ist es jetzt, dass anhand vom Displayname die Knoten sortiert werden, damit ich diese dann sortiert in ein Dictionary übernehmen kann.


            Dictionary<string, string> Scanner = new Dictionary<string, string>();

XDocument xmlDocument = XDocument.Load("data.xml");

            IEnumerable<XElement> items = from item in xmlDevices.Descendants("Scanners")
                                          select item;
            foreach (var item in items)
            {
                IEnumerable<XElement> FormData = item.Descendants("Scanner");
                foreach (var Data in FormData)
                {
                    Scanner.Add(Data.Element("ID").Value, Data.Element("DisplayName").Value);
                }
            }
            return Scanner;

Ich bin was Linq angeht alles andere als bewandert. Ich weiß zwar dass man mit einem sql ähnlichen syntax mit orderby sortieren kann, aber ich weiß jetzt nicht genau wie ich den code erweitern muss. wäre toll, wenn mir jemand unter die arme greifen könnte

03.04.2012 - 15:03 Uhr

das reicht mir hoffentlich schon aus. ich hab ein wenig die orientierung verloren. deswegen scheitere ich schon an den simpelsten problemen. morgen hab ich vielleicht wieder mehr den kopf dafür frei.

edit: ach ich gebs glaub ich wirklich auf. der mensch hat ja schneller den aufrechten gang gelernt, als ich das mvc verstehe. hab den artikel gelesen aber den entsprechenden part nicht gefunden (oder nicht verstanden). ich werd mal erst den kopf frei machen gehen und dann probier ich es morgen nochmal.

edit2: habs scheinbar doch gefunden. hoffe ich zumindest mal.

danke für die geduld.

03.04.2012 - 13:38 Uhr

achso.
da ich wie gesagt gerade versuche etwas nacktes selbst zu baue hab ich natürlich noch nichts der gleichen. ich probier jetzt noch ein paar kleinigkeiten selbst aus, welche mir gerade beim schreiben eingefallen sind und bei weiteren fragen, muss ich dann wahrscheinlich wieder deine geduld strapazieren.

Edit: ok eine Frage hab ich jetzt noch. Es ist zwar nicht sonderlich intelligent, immer durch die Themenpunkte zu springen, aber ich hocke jetzt an der ConnectionFactory

hab mir jetzt einfach mal eine simple klasse zusammen gebaut.


namespace ValidateTest.Models
{
    public class ValidateTestEntities : DbContext
    {
        public DbSet<HomeModel> HomeModels { get; set; }
    }
}


private static ValidateTestEntities SingleConnection
        {
            get
            {
                var singleConnection = new ValidateTestEntities(CreateConnectionString());
                return singleConnection;
            }
        }

jetzt kommt der Fehler "enthält keinen Konstruktor der 1-Argumente akzeptiert. Logisch weiß ich jetzt, was es bedeutet. Ich muss jetzt einen Konstruktor mit einem Argument anlegen, aber in was muss ich dann den ConnectionString speichern.

03.04.2012 - 13:17 Uhr

ok,

noch ne kleine bescheuerte Frage. Wie kommt das Submit und Viewmodel so unter die Bearbeiten.cshtml?

und noch was. ich versuche gerade selbst was zusammen zu bauen. einfach was super simples. u.a. will ich auch ne ConnectionFactory nutzen.

private static MyDatabaseContext SingleConnection
    {
        get
        {
            var singleConnction = new MyDatabaseContext( CreateConnectionString( ) );
            return singleConnction;
        }
    }

wo kommt MyDatabaseContext her?

03.04.2012 - 12:41 Uhr

jetzt bin ich verwirrt, also doch keine submitmodels nutzen oder wie?
validierung in den entities selbst (sind das jetzt eigentlich die models?) wo dann immer noch die vorherige frage mit den verschalteten wäre.

so doof kann ich doch eigentlich nicht sein, ich zweifel langsam wirklich an meinen spärlichen fähigkeiten.

03.04.2012 - 11:33 Uhr

Ok danke,
also noch mal auf Anfang und View- und SubmitModels anschauen 😃

die validierung wird dann in den submitmodels durchgeführt oder?

03.04.2012 - 11:08 Uhr

ich hab mich noch ein wenig mit dem IValidatableObject beschäftigt und es tun sich noch ein paar Fragen auf.

Zuerst die Validierung. Hier ist ein Beispiel wie eine eigene Validierung implementiert wurde
http://en.hugon.ws/articles/mvc-3/the-iv...ject-interface/
ist das die saubere Lösung oder eine "funktioniert geht aber schöner"?

Mit den erwähnten Entities sind die Modelklassen gemeint und diese sollten dann mittels partial erweitert werden, richtig? Man kann die partial-Klassendatei zwar nennen wie man will, aber wie nennt ihr sie so, dass man erkennt, welche Dateien zusammen gehören?

Das Interface muss bei jeder Klasse implementiert werden und die Validierung für jedes Model/Entity neu geschrieben werden? Oder gibt es auch hier sauberere Lösungen?

Wie sieht die Prüfung bei verschalteten Klassen aus? Z.B. im Musicstore das Model Album beinhaltet eine Liste vom Typ Genre. Bekommt jede Klasse das Interface und die Validierung findet dann in jedem Model statt oder wird die Prüfung nur in der "Mutterklasse" vorgenommen?

Ich bedanke mich schon mal für eure Antworten. Ich lerne langsam, aber fleißig 😃

28.03.2012 - 11:29 Uhr

ja bei c# hast du recht, aber beim mvc vermisse ich persönlich einiges oder bin ich zu blöd es zu finden.

Edit. Bin übrigens mal dazu übergegangen die MSSQL Datenbank nicht zu verwenden sondern wie im Tutorial das ganze zu machen. Da taucht der Fehler nicht auf. Nicht desto trotz seh ich das jetzt erstmal als Notlösung an, damit ich mir zumindest ein wenig mehr Grundverständnis aneignen kann.

28.03.2012 - 09:21 Uhr

gibt es eigentlich gute online quellen? microsoft nimmt es ja leider nicht so genau mit der öffentlichen dokumentation.

27.03.2012 - 14:44 Uhr

Blöd is nur, dass ich noch nicht mal weiß, wie rum ich mich auf den Sattel zu setzen habe.

27.03.2012 - 14:13 Uhr

oh man. Tutorials veraltet, keine anständige Lektüre und Dokumentation von MS ist auch dürftig. Ich seh da irgendwie schwarz es zu lernen. Ich kann ja auch schlecht jedes mal fragen und andere meine Arbeit erledigen lassen.

27.03.2012 - 13:39 Uhr

ui, soviel Arbeit. Danke! Bin wirklich kein großer freund vom Vorkauen, aber wie du so schön sagtest: Die Tutorials sind nicht mehr zeitgemäß und wenn die dann auch nicht mal mehr funktionieren wird es richtig doof.

Dein Code ist auf den ersten Blick auch für mich verständlich. Die verschiedenen Klassen kommen dann sicherlich aber in verschiedene Klassendateien oder? Aber ich denke mal mit den ganzen hilfreichen Informationen kann ich was anfangen. Gibt es eigentlich ein etwas aktuelleres empfehlenswertes Buch was UpdateModel, Repositories etc behandeln. Um ein bisschen Printlektüre werde ich nicht drum rum kommen.

27.03.2012 - 12:42 Uhr

was mich noch interessiert ist wie ich es am besten mit einer Factory löse. Vielleicht liegt es auch einfach nur an der Web.config, dass es da in der Tat auseinander fliegt. Auch wenn mir der Begriff bekannt ist, tu ich mir unglaublich schwer das umzusetzen.

ich will mich erstmal so nah wie möglich an den Tutorials bewegen, damit ich ein wenig das Grundverständnis bekomme.

27.03.2012 - 11:26 Uhr

Ich glaub ich brauch ein Buch. Es klingt alles logisch und verständlich. Aber umsetzen werd ich es zumindet jetzt nicht können. Ich hab noch nicht wirklich den Fuß in die Tür gekriegt. Zu deiner Lösung hat sich wahrscheinlich noch keiner die Mühe gemacht es ausführlich und für Anfänger verständlich nieder zu schreiben oder?

27.03.2012 - 11:00 Uhr

Und wie prüfst du z.b. sachen ab ob Integer, String oder String mit einer maixmalen Länge von x etc?
Wird HTML5 eigentlich schon vom IE unterstützt? Da ich hauptsächlich für interne Zwecke Projekte realisere und der IE bedauerlicherweise Standard ist, bringt mir FF Chrome und Co wenig 😦

27.03.2012 - 10:32 Uhr

Vielen Dank Abt für deine Mühe.

Diese partial Klasse muss ich dann für alle Entities schreiben richtig? Und ist das wirklich alles? Ich verstehe zur Zeit nicht wie diese Art der Validierung arbeitet. Brauche ich da weiterhin die DataAnnotations oder wie weiß, dann die Klasse wie was validiert werden soll?

Auch hab ich noch Schwierigkeiten, dass ganz mit Factory und Repository zu verstehen und um zu setzen. Wollte mich erstmal mit ein paar Grundzügen vertraut machen, daher ist es deprimierend, wenn dann die Tutorials nicht wirklich so funktionieren.

weil merkwürdigerweise funktioniert es in einem anderen beispiel wunderbar


public class Movie
    {
        public int ID { get; set; }
        [Required(ErrorMessage = "Title is required")]
        public string Title { get; set; }
        [Required(ErrorMessage = "Date is required")]
        [DisplayFormat(DataFormatString="{0:d}")]
        public DateTime ReleaseDate { get; set; }
        [Required(ErrorMessage = "Genre is required")]
        public string Genre { get; set; }
        [Required(ErrorMessage = "Price required")]
        [Range(1,100, ErrorMessage="Price must be between $1 and $100")]
        [DisplayFormat(DataFormatString="{0:c}")]
        public decimal Price { get; set; }
        [StringLength(5)]
        public string Rating { get; set; }
    }

beide beispiele stammen von asp.net. beispiel oben ist die MVC Movie App

das mit der Cliend-Sidevalidation würde mich aber auch Intressieren 😃

27.03.2012 - 08:39 Uhr

mit dem xmlpart aus der webconfig.


<connectionStrings>
    <add name="MusicStoreEntities"
         connectionString="data source=.;Initial Catalog=MvcMusicStore;Password=user;User ID=pwd;Connect Timeout=150"
         providerName="System.Data.SqlClient"/>
  </connectionStrings>

was mich nur wundert ist, in dem andern tutorial fliegt er mir nicht auseinander.
die unbehandelte execption wird übrigens im StoremanagerController in der Index-Methode geworfen


public ViewResult Index()
{
            var albums = db.Albums.Include(a => a.Genre).Include(a => a.Artist);
            return View(albums.ToList());
}

das mit dem IValidateableObject finde ich noch interessant. Gibt es da irgendwas zum Einstieg? Wenn ich mir dadurch solch einen Ärger erspare, dann würde ich mich daran versuchen.

26.03.2012 - 16:11 Uhr

Hallo,

ich arbeite mich gerade in ASP MVC 3 ein und versuche mich an dem Tutorial MVC Musicstore und bin mittlerweile beim Part 6 angekommen. In Teil 6 geht es um die Validierung mittels der Data Annotations

Es funktioniert auch teilweise. Nur sobald ich zum Beispiel Required einsetze, erhalte ich eine InvalidOperationException

Fehlermeldung:
{"Der Vorgang erfordert eine Verbindung mit der Masterdatenbank ('master'). Es kann keine Verbindung mit der Masterdatenbank ('master') hergestellt werden, da die ursprüngliche Datenbankverbindung geöffnet wurde und die Anmeldeinformationen aus der Verbindungszeichenfolge entfernt wurden. Stellen Sie eine nicht geöffnete Verbindung bereit."}


using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;
using System.Web.Mvc;

namespace MvcMusicStore.Models
{
    [Bind(Exclude = "AlbumId")]
    public class Album
    {
        [ScaffoldColumn(false)]
        public int AlbumId { get; set; }
        [DisplayName("Genre")]
        public int GenreId { get; set; }
        [DisplayName("Artist")]
        public int ArtistId { get; set; }
        //[Required(ErrorMessage = "An Album Title is required")]
        //[StringLength(160)]
        public string Title { get; set; }
        //[Required(ErrorMessage = "Price is required")]
        //[Range(0.01, 100.00, ErrorMessage="Price must be between 0.01 and 100.00")]
        public decimal Price { get; set; }
        [DisplayName("Album Art URL")]
        //[StringLength(1024)]
        public string AlbumArtUrl { get; set; }
        public /*virtual*/ Genre Genre { get; set; }
        public /*virtual*/ Artist Artist { get; set; }
    }
}

sobald Required, Stringlenght oder Range wieder einkommentiert werden, bekomme ich die Fehlermeldung. Kommentiere ich es aus, alles wieder in Butter.

08.03.2012 - 12:06 Uhr

Ich habe mittels <PagerTemplate> eine eigene kleine Leiste zum "durchklicken" des Gridviews erstellt und im Codebehind mit Funktionalität bestückt werden.Das ganze funktioniert auch schon. Allerdings nur im Header werden die DropDownListen gefüllt und lösen die entsprechenden Events aus.
Im Footer des Grids wird die Leiste ebenfalls dargestellt allerdings werden dort die DropDowns nicht mit den Werten befüllt. Ich vermute das liegt daran, dass ASP eigene IDs vergibt und dadurch zwei "verschiedene" Steuerelemente erzeugt werden und dadurch vom Code nicht mehr angesprochen werden.

Ich frage mich nun, wie kann ich die untere Leiste ebenfalls ansprechen. Bzw die alternative Lösung wäre die untere Leiste auszublenden, allerdings weiß ich jetzt nicht wie das geht 😃

Edit: Ok eine Leiste ausblenden, hab ich rausgefunden.

GridView1.PagerSettings.Position = PagerPosition.Top
20.02.2012 - 16:19 Uhr

danke für die hilfe. hatte es vorhin auch rausgefunden und angefangen in meinen startpost zu editieren 😃

16.02.2012 - 11:11 Uhr

Ich hoffe mal, dass ich hier richtig bin. Ich arbeite zur Zeit mit dem Reporting Services und habe mir eine kleine Testanwendung in C# geschrieben, welche die Aktionen durchführen soll. Webproxy generiert und etwas getestet. Auf meinem Report Server kann ich schon Ordner anlegen und löschen lassen, aber bei einer Methode habe ich Probleme

ListMySubscriptions

ich bekomme jedes mal die Fehlermledung rsInvalidItemPath
der Fehler passiert in der Zeile mit diesem Funktionsaufruf

subscriptions = rs.ListMySubscriptions("http://<Server Name>");

habe schon alles mögliche an Pfaden ausprobiert. von
http://localhost, http://localhost/ReportServer, /ReportServer, /localhost/ReportServer usw.

die komplette XML Fehlermeldugn sieht so aus

<ErrorCode xmlns="http://www.microsoft.com/sql/reportingservices">rsInvalidItemPath</ErrorCode><HttpStatus xmlns="http://www.microsoft.com/sql/reportingservices">400</HttpStatus><Message xmlns="http://www.microsoft.com/sql/reportingservices">Der Pfad des http://localhost/ReportServer-Elements ist ungültig. Der vollständige Pfad darf höchstens 260 Zeichen lang sein. Es gelten zudem weitere Einschränkungen. Falls sich der Berichtsserver im einheitlichen Modus befindet, muss der Pfad mit einem Schrägstrich beginnen.</Message>

Der Berichtsserver müsste, wenn mich nicht alles täuscht, im einheitlichen Modus sein.

**Edit:**Falls es jemanden interessiert. Sofern sich der Server im "einheitlichen Modus" befindet. Beginnt die Pfadangabe mit einem Slash und zwar im Wurzelverzeichnis des Servers.

Demnach ist in diesem Beispiel der Pfad schlicht und ergreifend

subscriptions =  rs.ListMySubscriptions("/");

ohne http, localhost und reports. das gilt auch für alle anderen pfadangaben.

30.03.2010 - 22:02 Uhr

ein http-Proxy wäre sicher nicht die einzige Möglichkeit, aber eine einfache und gute,

und was gäbe es da noch? einen eigenen kleinen proxy wäre in ordnung, da das programm sich eigentlich an laien richtet und diese in der regel keine anonymisierungsdienste, multiproxy programme oder sonstwas nutzen. aber ich bin von natur aus neugierig 😃

Aber kennst du die hosts-Datei?

ja die kenne ich nur ich frage mich ob es sinnvoll ist diese mit knapp 1500 einträgen zu spicken.

30.03.2010 - 12:20 Uhr

Hintergrund des Ganzen. Ich will sowas wie diesen Computerbild Abzockschutz bauen. Was ich mich jetzt frage ist, kann man mit .net ein kleines Programm basteln, was von den Browsern die http-anfragen überwacht, prüft und umleitet. Oder ist sowas nur mit Toolbars und Erweiterungen wirklich möglich?

Die einzige Möglichkeit die mir spontan einfällt und universell wäre, wäre eine art Proxy, welcher in den Einstellungen eingetragen wird und alles über diesen dann läuft.

Wäre für Anregungen und Starthilfe dankbar 😃

04.08.2009 - 18:18 Uhr

das muss ich mir morgen dann wohl mal genauer anschauen.
schonmal danke

was ist die abkürzung cte eigentlich?

04.08.2009 - 16:53 Uhr

also momentan läuft es über access der export geht auch als csv also noch ne umbastelei ist es nicht.

ssis klingt auch jedenfall mal "nachschlagenswert"

ROW_NUMBER OVER PARTITION
kann ich damit die entscheidung treffen welche daten von den nicht gruppierbaren spalten genommen wird
also quasi alles berechnen und gruppieren und bei den "risikospalten" ein over mit der klausel where Herstellernummer = Nr1
und mit OR Verknüpfungen quasi die "Reihenfolge" festlegen?

oder hab ich da jetzt irgendwie was falsch verstanden bei?

04.08.2009 - 16:06 Uhr

also momentan läuft es über access.
ich persönlich würde es auch mit csv files machen.
auch das immer wieder neu anlegen wird zur zeit so gemacht.

ich versuche es effektiver zu gestalten (und weil die jetzige lösung einfach nicht mehr auf die wünsche erweiterbar ist)

mein größtes problem ist fehlende erfahrung. darum ging es in erster linie um machbarkeit.

es sollte so ablaufen
csv daten werden in die jeweiligen tabellen importiert (wobei kann ich einfach so die daten z.b. in float oder integer spalten importieren sofern es zahlen sind?)
bei oracle ist das ja etwas einfacher, da hat man den sql loader gibt dem ne command-datei und der importiert dann feucht fröhlich das ganze.

die stored procedure müsste folgendes können
die importierten daten aus den tabellen auslesen (zusammenstellen)
dann untersuchen welche doppelt, dreifach oder sonstwas vorhanden sind (anhand der artikelnummer).
die zahlenwerte summieren, mittelwerte berechnen usw (ist im vorfeld schon bekannt) und teilweise strings in spalten, welche sich unterscheiden anhand einer prioritätenliste (HerstellerID) ,welche als parameter übergeben werden könnte?, entscheiden welche der beiden werte er für den datensatz genommen wird (also z.b. die Produktbezeichnung) Aufgrund der nicht gleichen Daten fällt ja wie schon gesagt die Gruppierung weg.

das ganze dann in eine outputtabelle speichern (das halte ich für sinnvoll, weil mehrere leute auf die daten zugreifen werden, aber sich die daten nur einmal täglich ändern.)

und wie gesagt ich persönlich mit meiner Bescheidenen Erfahrung stelle mir es halt so vor, dass das Programm lediglich die ganzen Vorgänge anstößt, aber selbst wenig bis garnix berechnen, auswerten muss.

als nächster schritt wären natürlich ein paar gute tips wichtig, wie ich solche etwas komplexeren prozeduren erstelle, leider hab ich in richtung mssql kein gutes buch zur hand.

04.08.2009 - 11:03 Uhr

Guten Morgen,

ich bräuchte mal wieder nen kleinen Denkansatz. Und zwar soll ich eine komplett neue Version eines Programmes erstellen, was folgendes bewerkstelligt.

[Momentaner Stand]
Das Tool läuft einmal pro Tag und ruft eine Batchdatei auf, welche wieder rum einen Datenexport anstößt. Die Exportierten Daten werden zur zeit in eine Access mdb gespeichert.
Diese Datei wird ausgewertet auf einem MSSQL Server werden die gleichnamigen Tabellen erstellt (alle Spalten als nvarchar [dazu komm ich aber noch] und die Daten importiert.
Danach werden die Daten ausgelesen zusammengefasst und in eine weitere dynamisch erstellt Outputtabelle geschrieben, wovon sie dann mit einer Excel Datenverbindung in Excel angezeigt werden.

Bei den Daten handelt es sich um Artikel, mit Einkaufspreisen, Warenbeständen, Lieferanten und Herstellern etc

Artikelnr. können mehrfach vorkommen und bilden lediglich mit der Herstellernummer eine eindeutige ID. Die Spalten mit Strings wie Warenbezeichnung etc sind häufig identisch, können sich aber auch unterscheiden. Die Spalten mit Zahlen etc sollen summiert, mittelwerte usw berechnet werden.

Ziel ist es, lediglich einmal die Informationen zu jedem Artikel angezeigt zu bekommen. Mit summierten Lagerbeständen etc

Durch Teilweise unterschiedliche Werte fällt da meines Wissens nach Group By raus.
Das Rechnen ging ohne umkonvertierungen ebenfalls nicht (da wie erwähnt alle Spalten nvarchars sind)

Bei unterschiedlichen Datensätzen soll, dann anhand einer Prioritätsliste entschieden, werden welcher Datensatz von welchem Hersteller (Prioritäten werden anhand der Herstellernummern festgelegt) genommen werden soll.

(Hersteller2 ist höher priorisiert)
z.B. Artikel1 Hersteller 1 Bestand 5 Bezeichnung1
und Artikel1 Hersteller 2 Bestand 4 Bezeichnung2

soll später rauskommen
Artikel1, Hersteller2 Bestand 9 Bezeichnung2

Meine erste Idee ist ein Dataset. Da die Datensätze ungefähr 70.000 bis 200.000 Datensätze pro Tabelle sind und es ca 10 Tabellen sind dürfte es noch gehen. Die Auswertung würde, dann das Programm übernehmen und das Ergebnis in die Outputtabelle schreiben (würde ich mir sogar die ganzen Tabellen sparen)

allerdings würde ich das gerne von der Datenbank erledigen lassen und daher wollte ich mich auch mal erkundigen ob es nicht zufällig mit StoredProcedures realisieren lässt.
Da würde ich mir quasi ein "mapping" anlegen, damit ich weiß welche spalte in der access datei bzw in der csv datei welchem datentyp im mssql entsprechen soll (und dann die strings ggf in einen float oder integer umkonvertieren) die ganzen tabellen 1:1 (wie jetzt auch schon) in die Datenbank schreiben und dann mittels storedprocedure oder so die daten zusammenfassen, ggf entscheiden welcher von n-fastgleichen datensätzen genommen werden soll und ansonsten die berechenbaren spalten berechnen.

23.07.2009 - 17:42 Uhr

Das Problem war....er hielt die Maus so in der Hand, dass das Kabel zu ihm hin zeigte.

ich bin ehrlich, ich musste eben auf meine maus schauen um den satz zu verstehen ^^

23.07.2009 - 17:39 Uhr

ich persönlich finde das einfach nur microsoft bashing.

Ms darf noch nicht mal ihr Produkt mit ihren anderen Produkten ausliefern, ohne 900 Millionen € Strafe zahlen zu müssen. Während Apple Produkte auf dne Markt wirft, die nur mit Apple Software funktioniert, man nur von Appl genehmigte Software installieren darf und das ganze auch nur über Apple eigene software geht. Aber da wird nix gemacht.

Ich persönlich finde es auch nicht gut, wenn Microsoft ihre Produkte untrennbar eineinander koppelt (wer mal den WMP oder den IE deinstallieren wollte, weiß was ich meine) Aber ich finde eine einfache Auflage, dass man während der Installation selbst entscheiden darf was man installieren will oder nicht (wenn man es verschärft haben will, kann man ja fordern, dass der IE und der WMP standardmäßig nicht mitinstalliert werden).

Ich finde unsere EU Diktatur eh zum kotzen, die regieren auch nach reiner willkür

21.07.2009 - 16:31 Uhr

auch wahr. aber ich lass es jetzt erstmal so und warte ab ob knallt 😄
das sql statement hat sogar jetzt sage und schreibe 12337 Zeichen 😃

21.07.2009 - 16:00 Uhr

ja aber ich würde es gerne wieder so anzeigen lassen und da ich es ja nach dem rechnen wieder in nen nvarchar umwandel sollte das ja auch möglich sein oder?

ich freue mich auf jeden fall schon auf ne dusche, ich muss den schmutz abwaschen, den ich da verbrochen hab. aber bedauerlicherweise hab ich keine andere möglichkeit gehabt.

21.07.2009 - 14:45 Uhr

ui danke
aber noch ne andere frage. wenn die zahl x,60 ist wird die letzte null abgeschnitten.
sowas lässt sich sicherlich wieder richtig formatieren oder? ich persönlich würde mich jetzt nach FORMAt() oder so umschauen und in der richtung anfangen zu suchen.

21.07.2009 - 11:31 Uhr

Das müsste aber von MSSQL erledigt werden
Mein Plan ist es nämlich der Exceldatei nicht mehr die Output Tabelle sondern eine Outputview zu liefern.

21.07.2009 - 11:23 Uhr

hallo,

heute wieder mal eine neue Folge von "Mit St@TiC in den Rücken durch die Brust ins Auge" 😃
Ich hole etwas aus, damit ihr versteht warum ich es etwas unsauberer lösen muss.
Wir haben ein Programm (ohne Code), das liest Daten aus ner Accessdatei aus und speichert alle Daten als nvarchar in eine MSSQL 2005 Datenbank. Danach sucht sich das Programm seine Daten aus den Tabellen zusammen und erzeugt eine output-Tabelle, welche auch nur nvarchar-Felder hat. Auf diese Output-Tabelle greift nun eine Exceldatei zu und gibt die Daten aus. Das funktioniert.

Ich hab jetzt das Problem, dass ich mit den Datensätzen rechnen muss. sowas geht bekanntlich mit character-Datentypen etwas schlechter. Also mach ich es momentan so

konvertieren zu Integer, Rechnen z.B. summieren, konvertieren zu nvarchar
letztere Konvert nur um sicher zu gehen, dass es dann vielleicht mit den numerischen Datentypen Probleme gibt.

So mein Problem ist, jetzt hab ich nicht nur Spalten mit Ganzzahlen, sondern auch mit Gleitkommazahlen. Und irgendwie funktioniert es nicht mit
CONVERT(float, Spalte1) zu konvertieren. Der nvarchar ist ein float mit zwei Nachkommastellen.

Ich hoffe jemand kann einem gebeutelten User wieder mal helfen.
danke im Voraus

14.07.2009 - 15:30 Uhr

joa das mit dem element auslesen wäre wohl die einfachste methode. ich werds mal probieren.

vielen dank für die hilfe

14.07.2009 - 14:52 Uhr

jain. das problem ist diese dinger sind in einem entity set. d.h.
diese objektliste wird niemals der datentyp selbst sein.

if(ListeMitUnterobjekten<Datentyp> is Datentyp) wird niemals aufgehen.

Muster sind schon toll, ich hab mir da auch einiges schon zu angelesen, aber die objekte sollen nicht verändert werden, mal abgesehen davon, würde ich da wahrscheinlich ebenfalls scheitern. also umschreiben auf ein muster ist ebenfalls nicht gewollt. ich hab da leider nix zu sagen. ich persönlich würde sowieso nur noch schadensbegrenzung betreiben und versuchen das projekt abzustoßen.

14.07.2009 - 13:44 Uhr

und wie ich die typbestimmung machen soll, weiß ich gerade nicht 😃

14.07.2009 - 12:59 Uhr

also die konkreten klassen darf ich wahrscheinlich nicht posten.
ich versuch es nochmal bisschen anders zu erklären

also momentaner ablauf ist folgender
ein objekt (vom oberen bis zum unteren) kann eine liste eines anderen objektes beinhalten

momentan gebe ich alles aus, wie ich es wie folgt mache

das oberste objekt gibt es nur einmal. ich lese die daten aus und speicher diese als teilstring für die csv datei zwischen. danach wird die objektliste (das entityset) mittels foreach durchgegangen und jedes objekt wird wieder ein teilstring des csv strings. das nächste objekt wird wird ebenfalls wieder mit foreach durchgegangen usw

das sind alles geschachtelte foreach schleifen, sodass die unter elemente immer die gleichen daten der oberen elemente beinhalten. es wird quasi eine komplexere struktur in ein flaches datei format umgewandelt (das hab ich mir übrigens auch nicht ausgedacht, dass ist ebenfalls eine unveränderbare vorgabe)

das funktioniert auch schon.
jetzt kommt aber das "aussortieren" ins spiel. toller weise ist dieses riesige geschachtelte objekt ein globales ding. also einfach das was man nicht benötigt rauswerfen ist ebenfalls tabu.

meine idee ist nun in jeder ebene welche durchlaufen wird zu prüfen ob das level in dem man sich momentan befindet in der selektierten struktur der crumbbar befindet.
und dann wird quasi mittels if-abfrage einfach der verarbeitungspart übersprungen.

grundlegend kann man sagen und ich denke mal, dass wird hier jeder schon bemerkt haben, fehlt mir der besen (die erfahrung) und ich soll jetzt scherben aufkehren.

14.07.2009 - 12:16 Uhr

aha und einfach mit irgendeiner methode festzustellen was für ein objekt in diese Liste gehört gibt es nicht?

ich glaub ich sollte meinen beruflichen .NET weg an den Nagel hängen und vielleicht nur privat damit Arbeiten. Jeden Tag den ich mit diesem dämlichen Projekt verbringe komm ich mir unfähiger vor.

14.07.2009 - 11:50 Uhr

hm ok dann muss ich etwas tiefer ins detail gehen.

also dieses geschachtelte linqobjekt stellt quasi eine baumstruktur da. diese baumstruktur wird als crumbbar (dieses ding aus vista) dargestellt

also es kann so aussehen

level1
-level1.1
-level1.2
--level1.2.1
--level1.2.2
-level1.3
--level1.3.1
---level1.3.1.1
---level1.3.1.2
level2
level3

also wie die exlporer ordnerstruktur nur mit dem unterschied das jedes level ein anderer objekttyp ist, welcher u.a auch noch nutzdaten enthält. diese nutzdaten sollen als csv zusammengestellt und exportiert werden. und zwar enthält jede ebene die informationen der übergeordneten ebenen, in der sich das level befindet.
also level 1.3.1.2 hat alle infos noch von level 1.3.1, 1.3 und 1

soweit funktioniert es. jetzt kommt aber das schwierige. über die crumbbar soll eine x-beliebige ebene selektiert werden und alle infos die nicht zu diesem pfad gehören sollen quasi nicht mehr exporitert werden. z.b. ich wähle level 1.3 aus so fallen z.b. die informationen von level 1.1 und 1.2 weg aber die infos von level 1 bleiben erhalten. ebenso sollen dann level 2 und 3 mit unterobjekten nicht ausgegeben werden.

die ausgabe erfolgt "vorwärts" das bedeutet vom root bis in die einzelnen unterobjekte. aber wenn ich in nem unterpunkt bin muss ich ja wieder quasi "rückwärts" laufen um festzustellen worin sich das objekt befindet.

jedes objekt hat ne art backreferenz auf das übergeordnete objekt aber um dies anzusprechen muss ich ja den Typ wissen, damit ich dann jeweils reagieren kann.

ich selbst halte die struktur und teilweise die arbeitsweise des projektes nicht für sonderlich gut, aber ich habs übernommen, eine änderung kommt jetzt nicht mehr in frage und egal wie sinnig oder unsinnig das riesige objekt auch sein mag, ändern lässt es sich nicht mehr.

14.07.2009 - 11:25 Uhr

Ich habe ein recht komplexes Projekt übernehmen müssen, welches u.a ein ziemlich großes, geschachteltes Linqobjekt enthält. Dieses Objekt enthält einein Entityset vom Typ "T" mit Unterobjekten, dieses wiederum ein eigenes EntitySet vom Typ "S" andere Unterobjekte usw.

als einen der ersten Schritte muss ich feststellen welcher Typ das EntitySet hat.
also T, S etc.

ich hab es schon mit objekt.GetType() mit typeof und mit is probiert
letzteres geht natürlich nicht, da ein EntitySet niemals der Datentyp sein kann

typeof geht natürlich auch nicht und bei GetType krieg ich zwar ein schönes Typobjekt zurück, allerdings kann ich damit irgendwie auch nicht großartig was anfangen.

Ich hoffe ich konnte es halbwegs verständlich beschreiben.

10.07.2009 - 17:53 Uhr

naja gut, ich denke einige haben auch nur "vorsichtshalber" leute entlassen.
Alternativ. Die Softwarebranche verdient ja im Grunde nur Geld in dem sie anderen Branchen was verkaufen, wenn es wie jetzt den Banken schlecht geht, dann werden Hersteller für Bankensoftware weniger Umsatz machen.
Die IT ist auch nicht immun gegen große Probleme, kann sich aber am schnellsten davon erholen.

10.07.2009 - 11:30 Uhr

ich war 6 Monate arbeitslos (ging pünktlich mit den Bankenpleiten los) Hab jetzt was neues auch in Vollzeit, aber sagen wir so das Gehalt nährt sich eher dem der Kurzarbeit. Aber immerhin besser als die paar Kröten vom Staat.

Mein Mittelständisches Unternehmen (ca. 35 Mitarbeiter) hat große Probleme, gute und bezahlbare Anwendungsentwickler zu finden. Im .NET-Bereich ists leider sehr schwer, gute Leute zu bekommen. Die meisten sind bereits in größeren Firmen engagiert oder wollen dort hin. Und viele die sich bewerben, sind nicht wirklich zu gebrauchen.

ich hab das Problem kein pasendes Unternehmen zu finden. Die letzten beiden Arbeitgeber (aktueller und davor) ist/war toll, aber da bin ich immer ein Singleplayer. Also kein Programmierteam sondern nur ich. Allerdings brauch ich ein Team, sei es um fachzusimpeln, andere Betrachtungsweisen zu bekommen oder einfach zu lernen.
Manchmal denke ich, dass .NET nix für mich ist und ich es vielleicht hobbymäßig machen sollte und Tierpfleger werde (ist kein scherz).

ich denke mal man muss abwägen was man braucht. Ein .NET Gott wird sicher nicht für 2000€ Brutto anfangen. Ich glaub, da macht so einer nicht mal Word auf um ne Bewerbung zu schreiben.

07.07.2009 - 09:30 Uhr

eines meiner ersten Programme (war sogar noch in VB6 geschrieben)
War ein Tool zum erstellen von "gültigen" Personalausweisnummern.
Gültig in dem Sinn, dass die Prüfziffern korrekt waren. Damals waren die gesetzlichen Bestimmungen auch noch nicht so streng, sodass die meisten Internetplattformen lediglich die Prüfziffern berechnet haben.

Die Formel ist relativ simple

03.07.2009 - 13:52 Uhr

natürlich haben Mitarbeiter 1 und Mitarbeiter 2 nicht korrekt gehandelt, indem sie zuviel Arbeitszeit in privates stecken.
Allerdings ist es von Mitarbeiter 4 auch nicht löblich zu petzen.

Ich persönlich behalte mir die vergehen von Kollegen zwar, da meine Erfahrung gezeigt, dass das teilweise welche wirklich versuchen einen ständig ans messer zu liefern und man dann ggf. auch was vorzuweisen hat. aber ansonsten ist es mir relativ egal, was andere machen.

01.07.2009 - 09:12 Uhr

zumindest im smalltalk ist davon teilweise aber nichts zu erkennen.
das einzige was da funktioniert ist, dass man vom lesen augenkrebs kriegt 😃

26.06.2009 - 13:57 Uhr

ich finde die verunstaltung des namens im zeichen des protestes, ist es durchaus in ordnung. so mit "Zensursula" da ist es themenbezogen. Aber einfach nur Namen veralbern wüsste ich nicht wo da der sinn liegt.

Aber egal wie so ne Pedition gestartet wird. Sie wird gestartet, unterstützt, die Politik lächelt und ignoriert sie einfach.

Wir müssen es wie die Franzosen machen. Schlechtes Staatsoberhaupt + Guillotine = fröhliches Volk

26.06.2009 - 11:43 Uhr

Er war ein genialer Künstler. Alles noch alte Schule Arbeiten, Trainieren und nicht dieser ganze zusammencastete Schrott wie wir ihn heute vorgesetzt bekommen. Es ist wahrhaft eine Kunst über Jahre oder Jahrzehnte hinweg Erfolgreich zu sein. z.b. Madonna ist ja auch so ein Phänomän. Dieses Castingteilnehmer sind Eintagsfliegen und ein Michael Jackson ist aus musikalischer Sicht 1000 mal wert als alle Monroes, No Angels, Schumachers und den ganzen anderen Quatsch zusammen.
Zumal Michael Jackson nicht nur Musik gemacht hat sondern wirklich Maßstäbe gesetzt hat.
Ich denke mal die ganzen OPs haben ihn gebeutelt, dann die Anschuldigungen und die teuren Gerichtsprozesse haben ihm dann noch den Rest gegeben. Ich finde es ist ein Wunder, dass er überhaupt 50 wurde.

Ich bin übrigens kein großartiger Fan von Ihm. Aber ein paar Lieder sind wirklich genial.
Ich glaub ich schmeiß mal Thriller und Smooth Criminal rein