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 BenFire
Thema: Skalierbare "Bars" in SVG...wie zu realisieren?
Am im Forum: Grafik und Sound

Ich gehe aber davon aus, dass SVG fähigkeit unterstützt wird.
Deshalb versuch ich meine Frage noch einmal zu konkretisieren.
Erstelle ich jetzt für das Zeichnen der Bars eine extra Klasse?
Ggf möchte ich ja nicht nur einen sondern auch mehrere zeichnen.
Und wie übergebe ich dem folgenden Balken die Koordinaten des davor gezeichneten, damit dieser "weiß" , von der aus er erst zeichnen darf?

Thema: Skalierbare "Bars" in SVG...wie zu realisieren?
Am im Forum: Grafik und Sound

Sorry, hatte ich vergessen zu erwähnen,...ich Programmiere mit C#
Und nein es soll keine Webanwendung werden.
Ich will mir wie gesagt nur den Inhalt meiner Datenbank (verschiedene Abfragen)
visualisieren lassen.
Das SVG - File kann ich ja ohne Probleme auch aus dem C# heraus öffnen lassen.

Thema: Skalierbare "Bars" in SVG...wie zu realisieren?
Am im Forum: Grafik und Sound

Hallo Leute,

wie der Name des Themas schon sagt hab ich Probleme beim skalieren von Bars.
Kurz zur Sachlage:
Ich möchte die Inhalte aus meiner Datenbank grafisch darstellen.
Um das ganze auch visuell zu verdeutlichen wollte ich dies mithilfe von skalierbaren "Bars" machen.
Sprich wenn ich 100stück habe dann ist der "Bar" 1cm groß und bei 1000Stück 10cm.
Ich habe deshalb zunächst ersteinmal ein SVG - File erzeugt, welches die Grunddaten enthält....sprich die X-Y - Achsen der Grafik, da diese ja immer gezeichnet werden müssen...egal was ausgewertet wird.
Und nun möchte ich in das vorher erzeugte (ich nenne es jetzt mal) Standard-SVG File noch die Bars einfügen.
Kann mir jemand von euch einen Tip geben, wie man soetwas am elegantesten macht?
Es ist doch bestimmt nicht schick, wenn ich in meinem Programm den SVG - Code angebe und dann für width und heigth ein paar Parameter einfüge.
Ich habe von SVG bis jetzt noch nicht wirklich viel Ahnung, deswegen wäre es hilfreich für mich, wenn Ihr mir da ein paar Tips geben könnten, wie ihr soetwas realisieren würdet.
Vielen Dank.

Ben

Thema: Form während threadabarbeitung deaktiveren
Am im Forum: GUI: Windows-Forms

So wunderbar...funktioniert einwandfrei....dankeeeschön

Thema: Form während threadabarbeitung deaktiveren
Am im Forum: GUI: Windows-Forms

ja auf der seite war ich auch schon ein paar mal.
ich werd allerdings nicht wirklich schlau daraus.
ich will meine Controlls ja nicht vom thread aktualisieren lassen,
sondern sie wieder freigeben, sobald der thread abgearbeitet ist.

Thema: Form während threadabarbeitung deaktiveren
Am im Forum: GUI: Windows-Forms

Hallo Leute,

ich habe folgendes Problem.
Wenn ich auf einen Button klicke, dann wird ein seperater Thread aufgerufen, der die dahinterliegende Funktion abarbeitet. Soweit so gut. Das funktioniert auch alles.
Aber ich möchte, so lange der Thread abgearbeitet wird alle Button bzw. gleich das gesamte Form sperren, so das der User nicht mittendrin einfach auf Beenden klickt
während der Thread noch ausgeführt wird.

Probiert hab ich das dann damit, dass ich das Fenster per

Mainframe.ActiveForm.Enabled = false
sperre, aber spätestens beim Versuch es wieder zu aktivieren kommt folgende Fehlermeldung:
Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement Mainframe erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde.

ich bräuchte quasi eine Art globale Variable (des Forms) um das enable von jeder Funktion aus zu steuern.
Oder gibt es da noch eine bessere Lösung für?

Hier mal mein bissheriger Code:


delegate bool DelegateReadATP(FolderBrowserDialog folder); 

private void readATP_Click(object sender, EventArgs e)
       {
             Verarbeitung(folder);
        }  


private void Verarbeitung(FolderBrowserDialog AtpPfad)
        {
            this.Cursor = Cursors.WaitCursor;
            ReadATP newATP = new ReadATP();
            DelegateReadATP read = new DelegateReadATP(newATP.ReadNewATP);
            AsyncCallback callback = new AsyncCallback(CallbackRead);
            //Mainframe.ActiveForm.Enabled = false;   HIER SOLL DIE FORM DEAKTIVIERT WERDEN
            read.BeginInvoke(AtpPfad, callback, null);
        }

private void CallbackRead(IAsyncResult ar) 
        {
            DelegateReadATP read = (DelegateReadATP)ar.AsyncState;
            bool check = read.EndInvoke(ar);

            if (check == true)
            {
              //Mainframe.ActiveForm.Enabled = true; UND HIER SOLL ES WIEDER AKTIVIERT WERDEN
            }
        }

Thema: Fehler bei asynchroner Abarbeitung
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

[EDIT]Abgetrennt von Klassen architektur[/EDIT]

Hallo allerseits.

Ich hab mich hier mal ein bissel belesen, weil ich die asyncrone Abarbeitung in meinem Programm mit aufnehmen wollte.
Genauer gesagt soll beim drücken auf einen Button alle anderen gesperrt werden
bis der Thread abgearbeitet ist. Dazu bräuchte ich ja aber das AsyncResult
Beim debuggen gibt er mir aber immer folgende Fehlermeldung.
Kann mir jemand sagen, was das zu bedeuten hat?


Die Funktionsauswertung wurde deaktiviert, weil bei einer vorhergehenden Funktionsauswertung das Zeitlimit überschritten wurde. Sie müssen die Ausführung fortsetzen, um die Funktionsauswertung wieder zu aktivieren.	

Vielen Dank für eure Hilfe.


Ben

Thema: Objektorierentiert bei Datentransfer?
Am im Forum: Datentechnologien

super das schaut gut aus.....werd ich mir mal zu gemüte führen.
Vielen Dank

Thema: Objektorierentiert bei Datentransfer?
Am im Forum: Datentechnologien

Also ich würde jetzt grob gesehen eine Klasse für den Datenbankzugriff, eine für den Datenaustausch (DS / SQL-DB) , und eine für die Manipulation des DataSets schreiben.
Oder wie wäre das ganze am sinnvollsten?

Thema: Objektorierentiert bei Datentransfer?
Am im Forum: Datentechnologien

Mit anderen Worten, es macht also wenig Sinn eine Abstrakte Klasse "MyDataTab" zu schreiben (welche alle benötigten von mir vorgesehenen Funktionen beinhaltet), wenn sich die einzelnen Tabellen von einander unterscheiden?

Thema: Objektorierentiert bei Datentransfer?
Am im Forum: Datentechnologien

naja ich mein, dass ich meine Tabellen als Objekte sehe und dafür eine "spezielle" Klasse anlege welche dann noch meine zusätzlich benötigte Operationen beinhaltet(wie z.b. löschen einer Reihe in einer Tabelle )
Macht denn sowas überhaupt Sinn?
oder wie handelt Ihr eure DataSets?
Greift ihr einfach nur per Indizierung direkt darauf zu?
wie z.b. so DS.Tables[0].Rows[1].ItemArray[1] ?

Thema: Objektorierentiert bei Datentransfer?
Am im Forum: Datentechnologien

Hallo

Hab mal eine Grundlegende Frage an euch.
Macht es eigentlich Sinn, objektorientiert zu arbeiten, wenn man eigentlich nur Daten aus einem XML File in eine Datenbank rüberschaufeln will???
Bzw. was wäre die Vor- Nachteile von OOP ?
Danke für eure Antworten

Ben

Thema: StoredProcedure im Zusammenhang mit DataAdapter.Update
Am im Forum: Datentechnologien

So die Sache läuft jetzt...so wie geplant.
Es funktioniert also wirklich so, wie ihr das gesagt hattet.
Ich hätte halt nur schonmal früher den Tabellennamen aus dem DataSet mitgeben sollen

Vielen Dank an euch alle....und seit euch sicher...die nächste Frage wird kommen das ist gewiss

Thema: StoredProcedure im Zusammenhang mit DataAdapter.Update
Am im Forum: Datentechnologien

Boaah ich glaub mir is grad aufgefallen, wo mein Fehler liegt.

bei DA.Update hab ich ihm nur das DataSet gegeben und mich geärgert, darüber, dass er noch eine Tabelle haben will, weil ich dachte das ist die Tabelle in die das Insert ausgeführt werden soll.
Nun seh ich aber gerade das da SrcTable steht :S
Ich depp!!!

Werd das morgen gleich mal probieren...heute hab ich keinen Nerv mehr dafür....vielen Dank für eure Geduld.

Mfg


Ben

Thema: StoredProcedure im Zusammenhang mit DataAdapter.Update
Am im Forum: Datentechnologien

Also passt auf...
eigentlich sollte es ja keine Grundsatzdiskussion zum Sinn/Unsinn bzw. Vor-/Nachteil von Stored Procedures werden.

Meine Ausgangssituatuion ist folgende:
ich habe 2 Tabellen, die rein funktionell gesehn alles erfüllen, was ich brauche (GeraetTabelle, TestsequenzTabelle).
Zu jedem Gerät in der Geraet Tabelle gibt es mehrere Test in der Testtabelle.
Da sich aber nun die Tests für jedes Gerät wiederholen, hatte ich gedacht die Testname,Testergebnisse auszugliedern in seperate Tabellen und in die TestsequenzTabelle nur die jeweilige ID dafür zu schreiben.

Problem an der Sach ist, dass sich die Daten, die in die TestsequenzTabelle geschrieben werden sollen in einem XML-File Vorhanden sind.
Dieses XML File lese ich dann auf ein DataSet ein.
Nun stehen in der DataTable des DataSet ja aber die Kompletten Strings
die ja vorher noch umgewandelt werden müssen, bevor der Insert in die TestsequenzTabelle erfolgen kann.
Ich hatte mir da jetzt gedacht einer StoredProcedure die Parameter (Testname, Messwert, Ergebnis) zu übergeben, und in dieser werden dann wieder "Unterproceduren" aufgerufen, die in den jeweiligen Tabellen die zugehörigen ID suchen und diese gleich in den INSERT-Befehl der Übergeordneten SP einfügen.
So war mein Plan....ich weiss ja nicht, ob das auch noch anders gehen würde. Fakt ist das die Daten im DataSet noch in Stringform vorhanden sind und ich diese halt in ID´s umwandeln müsste.

Vielen Dank für eure Antworten

Thema: StoredProcedure im Zusammenhang mit DataAdapter.Update
Am im Forum: Datentechnologien

Zitat
Original von Yellow
Um es richtig zu verstehen, du willst eine flachgebügelte Struktur auf dem Client in normalisierten Tabellen auf der DB unterbringen?

-yellow

Nein auf dem Client ist die Struktur eben nicht Flachgebügelt....sondern als XML-File mit den Daten (meist als Strings) vorhanden.
Also muss das "Flachbügeln" im Programm passieren...

Thema: StoredProcedure im Zusammenhang mit DataAdapter.Update
Am im Forum: Datentechnologien

Zitat
Original von Rainbird
EDIT: Mein Post war zu spät.

Hallo BenFire,

Warum willst Du das INSERT über eine Gespeicherte Prozedur abwickeln? Welche Vorteile soll das haben?

Sag nicht, dass es wesentlich schneller ist. Das stimmt nicht. So simple Befehle wie "INSERT Tabelle (Feld1, Feld2) VALUES (@val1, @val2)" kann der SQL Server wiedererkennen und den gespeicherten Ausführungsplan verwenden. Da die Werte parametrisiert sind, ist das für den SQL kein Problem.

Gespeicherte Prozeduren sind sinnvoll bei komplexen Berechnungen, die große Datenmengen betreffen. Der Geschwindigkeitsvorteil bei einfachen INSERTs, UPDATEs und DELETEs ist Nahe zu bei Null.

Beim Speichern kommt es ohnehin nicht so auf die Geschwindigkeit an, sondern auf Konsistenz. Das wiederum fördert der CommandBuilder, da der Parallelitätsverletzungen bei MultiUser-Zugriff auf die DB automatisch erkennt (Einstellbar über ConflictOption). Lese-Zugriffe müssen schnell sein. Aber auch da, macht es keinen Sinn für Abfragen wie "SELECT * FROM Tabelle WHERE [email protected]" in SPs zu packen.

Ich denke, dass viele Leute Gespeicherte Prozeduren einsetzen, weil es in vielen Büchern über SQL Server steht. Der Haken an der Sache ist, dass Bücher über SQL Server sich nur um den SQL Server drehen.

s.o. ich weiss halt nicht wie ich das sonst anders realisieren soll...

Thema: StoredProcedure im Zusammenhang mit DataAdapter.Update
Am im Forum: Datentechnologien

Ja sorry das hatte ich vielleicht falsch formuliert.
aber wenn ich mit dem DataAdapter ein Insert ausführen will schreib ich ja trotzdem:

DA.Update(DS,DT);


aber stimmt schon war mein fehler

Zitat
Original von Yellow
Ich bezweifle, dass du dadurch Vorteile haben wirst. Ich denke eher du kaufst dir damit Nachteile ein, wie Unflexibilität etc., nennenswerte Geschwindigkeitsvorteile wirst du jedenfalls nicht haben, da beispielsweise der SQL-Server für parametrisierte SQL-Anweisungen ebenfalls einen wiederverwendbaren Ausführungsplan erstellt. Was machst du wenn du mehrere Versionen deiner Anwendung / Komponente parallel fährst, weil du die eine Version weiterentwickelst, die ältere Version nur noch bugfixt etc... meiner Meinung nach gewinnst du damit nur einen höheren Pflegeaufwand. Stored Procedures und Stored Functions in allen Ehren, aber ich meine, man sollte sie nur bei komplexer Logik, die viele Daten handelt und wenig zurück gibt, verwenden.

-yellow

Der eigentlich Grund, warum ich den ganzen Spass über eine StoredProcedure mache ist, dass ich vorhabe die Tabelle in die das INSERT ausgeführt wird in eine Normalform zu bringen.
Die Procedur soll also dazu dienen den eingegeben Parameter (z.b. ein TRUE für Ergebnis) durch aufruf einer Unterprocedur (welche in der Ergebnisnistabelle dann nach TRUE sucht und die ID zurückgibt) so zu interpretieren, dass nur die ID von TRUE in meine Tabelle geschrieben wird.

Wenn das anders gehen sollte....ich bin für jegliche Tips offen.
Aber nun hab ich halt erstmal den Weg über Stored Procedures eingeschlagen...was anscheinend nicht funktioniert :S X(

Thema: StoredProcedure im Zusammenhang mit DataAdapter.Update
Am im Forum: Datentechnologien

Ja sorry das hatte ich vielleicht falsch formuliert.
aber wenn ich mit dem DataAdapter ein Insert ausführen will schreib ich ja trotzdem:

DA.Update(DS,DT);


aber stimmt schon war mein fehler

Thema: StoredProcedure im Zusammenhang mit DataAdapter.Update
Am im Forum: Datentechnologien

die SP soll ja für ein INSERT sein....nicht für ein reines Update.
Deswegen dürfte mir der Commandbuilder da nicht so viel nutzen.
Da ich ja wie gesagt das Insert der SP überlassen will

Thema: StoredProcedure im Zusammenhang mit DataAdapter.Update
Am im Forum: Datentechnologien

Zitat
Original von Yellow
Zitat
Original von joerg.uth
Es mit einem CommandBuilder zu machen ist die zweite Wahl.
Tipparbeit hin oder her.
Weshalb nicht den CommandBuilder die SQLStatements generieren lassen?

-yellow

naja...was will ich denn da mit dem Commandbuilder SQL-Statements erzeugen lassen?
Meine SQL Statements stehen doch in der SP....zumindest hatte ich das vor.
Ich will eigentlich nur der Storedprocedure über Ihre eingangsparameter nach und nach jede Zeile übergeben. (die eingangsparameter sind die Spalten der Tabelle)

soll ich dann für jede Zeile extra ein ExecuteNonQuery Aufrufen?
Ich dacht es ist performanter das ganze per DataAdapter mit einmal rüberzuwurschteln. ???

Thema: StoredProcedure im Zusammenhang mit DataAdapter.Update
Am im Forum: Datentechnologien

Hab mal ne Frage zum Verständnis.

Ist es möglich eine StoredProcedure im Zusammenhang mit einem DataAdapter.Update(DataSet) aufzurufen???
Wenn ja, wie würde denn sowas aussehen?
Vielen Dank für Eure Informationen


Ben

Thema: DataSet normalisieren. Wie wird das gemacht?
Am im Forum: Datentechnologien

Ersteinmal vielen dank für deine Antwort.
also ich versuchs nochmal zu erleichtern.


Eigentlich will ich nur für einen String in einer Tabelle einen Indize einer anderen eintragen.

Tabelle
Ergebnis
TRUE
FALSE
TRUE
TRUE
etc.

und um jetzt die größe der Tabelle nicht exorbitant anschwellen zu lassen, will ich halt die strings in einer anderen Tabelle definieren und in der Ausgangstabelle nur noch die jeweilige ID eintragen.
ALSO:

Tabelle
ErgebnisID
1
0
1

Hilfstabelle
ID Ergebnis
0 FALSE
1 TRUE


Ich würde also auf dem SQL-Server diese zusätzliche Hilfstabelle noch mit anlegen.
Jetzt geht es aber darum, wie ich die zuordnung realisiere, damit die DataTable (Tabelle) aus dem DataSet im C# weiss welcher String welche ID besitzt.
Also müsste ich doch zusätzlich noch die Hilfstabelle auslesen und dann nach jedem String in dieser Tabelle suchen und mir die ID geben lassen.
Oder geht das auch noch anders???
Hoffe das beschreibt mein Problem jetzt etwas besser.
Vielen Dank für Eure Mühe

Ben

Thema: DataSet normalisieren. Wie wird das gemacht?
Am im Forum: Datentechnologien

Ist euch noch irgendetwas unklar?
Wenn ja, dann sagts dann versuch ich die frage nochmal umzuformulieren.

Ben

Thema: DataSet normalisieren. Wie wird das gemacht?
Am im Forum: Datentechnologien

Ich bins mal wieder...

und diesmal mit einer etwas längeren Frage zum Thema Normalisierung von Tabellen aus einem XML File...


Folgende Sachlage:
Ich habe 3 Tabellen


1. DeviceDataTable
DeviceID, SerialNumber , Date


2. SequenceTable
Value, TestNameFK, DeviceFK
..........1            1
..........2            1
..........3            1
..........n            1
..........1            2
..........2            2
(Zu einem Device gehören ca. 30 Test´s.)


4. TestNameTable
TestnameID, Test
1           Test 1
2           Test 2 
3           ........
4           Test n 


Ich les 2 Tabellen aus einem XML File aus....speichere diese danach auf einem DataSet (XMLDS).
Dieses DataSet hat dann also die 2 Tabellen (DeviceDataTable und SequenceTable).
In der SequenceTable stehen die Tests mit ihrem kompletten Testnamen.
Da dies aber aus Speichertechnischer Sicht nicht die optimalste Lösung ist, würde ich das ganze halt gerne normalisieren. Sprich eine weitere Tabelle auf dem DB-Server erstellen welche dann die (aktuellen [auch erweiterbar]) Testnamen und die zugehörige ID enhält.
Es lässt sich wohl anscheinend nicht vermeiden, dass ich bevor ich die Daten aus dem XMLDS normalisiert in die DB schreiben kann noch einmal die TestNameTable aus der DB in ein DataSet lade....mir dann nach und nach die Testname aus der SequenceTable im XMLDS geben lasse .... um nach diesen in der TestNameTable zu suchen und mir dann die jeweilige ID zurückgeben lasse....oder geht das auch anders???
Mein Bedenken ist halt, dass ich für jeden Testname dann erst immer in der TestNameTable suchen muss. Das ist bei einer Tabelle noch ok, aber wenn ich dann bei mehreren Werten (also nicht nur Testname sondern auch noch Result, Testtyp etc) immer erst noch in zig Tabellen suchen muss um mir eine ID zurückgeben zu lassen....frag ich mich halt, wie performant das ganze dann noch ist.
Vielleicht hab ich da auch grad eben irgendwie die falsche Idee und es geht auch einfacher........


gleich noch eine Frage in diesem Zusammenhang.
manipuliere ich dann das DataSet/die DataTable und führe erst zum Schluss per DataAdapter ein insert aus, oder schreibe ich jeden Test einzeln mit ExecuteNonQuery in die DB, sobal ich die (Test)Zeile zusammengebastelt habe.
Was ist denn da performanter?

Ich hoffe ihr könnt mir da ein paar Tips geben.
Vielen Dank.

ben

Thema: Tabelle aus DataSet löschen
Am im Forum: Datentechnologien

super....vielen Dank für die schnelle Antwort

Thema: Tabelle aus DataSet löschen
Am im Forum: Datentechnologien

Mahlzeit,


Hab mal ne Frage....ist es möglich einzelne Tabellen aus einem Dataset zu löschen?
bzw...was noch besser wäre einzelne Tabellen in ein XML-File herauszuschreiben.
kann mir da vielleicht jemand weiterhelfen?
über suchen find ich irgendwie nur mist, weil halt Tabelle, löschen und DataSet die Hauptschlagwörter sind
Vielen Dank.

Ben

Thema: Problem mit XslCompiledTransform-Klasse
Am im Forum: Datentechnologien

also mit anderen worten....auch das .net 2.0 unterstützt nicht den Befehl "result-document"???
das wäre schlecht. X(
wie kann man das denn dann sonst noch realisieren, wenn man noch eine seperate Datei aus dem XML herausschreiben will?
Hat da jemand ne Idee?
Danke.


Ben

Thema: einbinden des XSLT-Prozessors von Saxon in C#
Am im Forum: Datentechnologien

Zitat
Was heisst "nix"? Erscheint Saxon in den References? Fehlermeldung?
Naja das Problem hat sich gelöst. Ich muss natürlich die DLL´s einbinden und nicht die Files in den assembly-ordner.
Zitat
Ist auch kein Wunder, denn das ist kein Standard-XSLT, sondern eine SAXON-proprietäre Erweiterung.
sowas hatte ich mir ja auch gedacht, deswegen hab ich ja versucht die .net files von Saxon mit aufzuspielen. Das geht auch...er wandelt das xml auch um. nur das redirect:write wird immer noch nicht ausgeführt X(

Thema: einbinden des XSLT-Prozessors von Saxon in C#
Am im Forum: Datentechnologien

soooo...also am Prozessor scheint es schonmal nicht zu liegen.
Das würde ja aber bedeuten, dass das "redirect:write" aus der XSLT - Datei im C# konverter komplett irgnoriert wird. X(