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 x86fanboy
Thema: Brauche Hilfe für Überzeugungsarbeit für Dispose u.ä. ...
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Vielleicht hilft dir auch der folgende Artikel bzw. der folgende Absatz daraus:

Practical Tips For Boosting The Performance Of Windows Forms Apps: Resource Management

Thema: MySQL-Datum zu C#-Datum
Am im Forum: Datentechnologien

Aus dem Link den ich gepostetet habe:

Zitat
24.2.5.6.4. Handling Invalid Dates

Although it is strongly recommended that you avoid the use of invalid dates within your .NET application, it is possible to use invalid dates by means of the MySqlDateTime datatype.

The MySqlDateTime datatype supports the same date values that are supported by the MySQL server. The default behavior of Connector/NET is to return a .NET DateTime object for valid date values, and return an error for invalid dates. This default can be modified to cause Connector/NET to return MySqlDateTime objects for invalid dates.

To instruct Connector/NET to return a MySqlDateTime object for invalid dates, add the following line to your connection string:

Allow Zero Datetime=True

Please note that the use of the MySqlDateTime class can still be problematic. The following are some known issues:

1. Data binding for invalid dates can still cause errors (zero dates like 0000-00-00 do not seem to have this problem).
2. The ToString method return a date formatted in the standard MySQL format (for example, 2005-02-23 08:50:25). This differs from the ToString behavior of the .NET DateTime class.
3. The MySqlDateTime class supports NULL dates, while the .NET DateTime class does not. This can cause errors when trying to convert a MySQLDateTime to a DateTime if you do not check for NULL first.

Because of the known issues, the best recommendation is still to use only valid dates in your application.

Oder du probierst reader.GetString() und DateTime.TryParse.

Thema: Was ist eigentlich Casting?
Am im Forum: Rund um die Programmierung

Bei ValueTypes hat das weniger mit dem Casten zu tun, als mit dem Boxing bzw. Unboxing welches beim Einfügen und Auslesen aus einer (z.B.) ArrayList stattfindet.

Thema: MySQL-Datum zu C#-Datum
Am im Forum: Datentechnologien

Zitat
Original von falangkinjau
Hallo memphis0815,

versuch es mal mit:


reader.GetDateTime(deinspaltenindex)

Gruß falangkinjau

Das bringt nichts, da 0000-00-00 kein gültiges Datum ist und von der DateTime-Klasse nicht akzeptiert wird.

Thema: MySQL-Datum zu C#-Datum
Am im Forum: Datentechnologien

Zitat
Original von memphis0815

Das geht doch sicher auch eleganter bzw. fehlerunanfälliger, oder?

Viele Grüße
-f

Ja, indem man solchen Unsinn erst gar nicht in die Datenbank kommen lässt -> Sql Mode 'NO_ZERO_DATE' und 'NO_ZERO_IN_DATE' aktivieren bzw. gleich Strict Mode einschalten: http://dev.mysql.com/doc/refman/5.0/en/server-sql-mode.html

Außerdem solltest du reader.GetDateTime() verwenden und einen Blick in die Connector/.NET-Doku werfen: http://dev.mysql.com/doc/refman/5.0/en/connector-net-using-datetime.html

Thema: [gelöst] Problem beim Einlesen von CSV-File
Am im Forum: Datentechnologien

Zitat
Original von memphis0815
ich arbeite an einem Tool, dass Daten aus einem CSV-File, dass von einer lokalen App erstellt wird, in eine adäquate MySQL-DB schaufeln soll.

Warum machst du das selbst? Dafür gibt es z.B. mysqlimport und wenns programmatisch erfolgen soll, z.B. Filehelpers.

Thema: Eine Frage des Caching
Am im Forum: Rund um die Programmierung

Das ist vielleicht interessant für dich: http://blogs.msdn.com/ricom/archive/2007/06/25/caching-redux.aspx

Thema: Zusätzliche Dateien mit ClickOnce veröffentlichen
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Zitat
Original von Gemelon
Hallo x86fanboy,
ich greife auf die XML Datei mit der folgenden Methode zu:


            string EcecutingAssemblyPath = Path.GetFullPath(Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location));

string ConfigFilePath = EcecutingAssemblyPath + @"\PluginConfig.xml";

DataSet ConfigDataSet = new DataSet();
ConfigDataSet.ReadXml(ConfigFilePath);

Lass mal die Sache mit GetExecutingAssembly().Location weg. Wenn sich die Datei im gleichen Verzeichnis wie das Programm befindet, brauchst du gar keinen Pfad anzugeben (außer natürlich Environment.CurrentDirectory wurde geändert).
Zitat
Wie trägt man den PrivateBinPath denn in der App.Config ein? In welcher Section und wie sieht der eintrag dann aus?

http://msdn2.microsoft.com/en-us/library/823z9h8w(VS.80).aspx -> Ganz unten ist ein Beispiel.

Thema: Zusätzliche Dateien mit ClickOnce veröffentlichen
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Zitat
Original von Gemelon
Danke x86fanboy für die Antwort,
ich hatte jetzt erst Zeit das mal auszuprobieren. Es geht leider nicht. Ich habe mal den Ordner gesucht wo das hin installiert wird. Die XML Datei ist nicht im selben Ordner wie die EXE.

Wie greifst du auf die Dateien zu?
Zitat
Es ist aber notwendig dass sie im selben Ordner ist. Ausserdem habe ich noch ein paar unabhängige Komponenten als DLLs, die werden überhaupt nicht mit Kopiert. Die Komponenten sind nicht über einen verweis mit dem Hauptprogramm verbunden, die werden erst während der Laufzeit, je nach bedarf nachgeladen. Wie kann ich es anstellen dass die auch mit installiert werden?

Auch das ist kein Problem. Auch hier legst du wieder einen Ordner in deinem Projekt an, zu, fügst ihn zu den ClickOnce Dateien hinzu und trägst den Namen des Ordners in der App.config des Programms im PrivateBinPath ein.

Wir diesen beiden Dinge auch in unsere ClickOnce-Applikation und sie funktionieren ohne Probleme.

Thema: Zusätzliche Dateien mit ClickOnce veröffentlichen
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Zitat
Original von Gemelon
Hallo ich habe in meinem Projekt mehrere zusätzliche Dateien, jpg, txt und andere. Diese Dateien sollen da gespeichert werden wo auch die exe-Datei des Programms ist. Wie kann ich nun ClickOnce dazu bringen die auch mit zu Installieren?

Füge die Dateien in deine VS-Solution ein, dann kannst du sie in den Publish-Optionen unter Application Files hinzufügen.
Zitat
Weiss eigentlich jemand wo die exe Datei nach der Installation ist?

C:\Dokumente und Einstellungen\Benutzername\Lokale Einstellungen\Apps\2.0\ und dann die Ordner mit den kryptischen Name durchklicken.

Thema: [gelöst] GUI Andwendung zum Importieren in MySQL sehr langsam
Am im Forum: Datentechnologien

Neben den o.g. Sachen könntest du dir auch mal LOAD DATA INFILE anschauen. Eine weitere Möglichkeit sind Prepared Statements, muss aber seperat aktviert werden, da es laut Aussage des Entwicklers vom MySql .Net Connector zu Dateninkosistenzen führen kann.

Thema: Updatestrategien
Am im Forum: Entwicklungs- und Laufzeitumgebung (Infrastruktur)

Zitat
Original von eigeneachse
Hallo FZelle,
ClickOnce würde mir vom Umfang her vollkommen ausreichen. Das ist im Prinzip genau das was ich haben will. Ich habe mit ClickOnce nur das Problem, dass ich Firefox User dazu zwingen muss entweder über den IE zu installen oder das FFClickOnce Plugin zu installieren. Finde ich persönlich etwas unschön.

http://channel9.msdn.com/ShowPost.aspx?PostID=138879

Damit kannst du dir eine Setup.exe erstellen, die mit allen Browsern funktioniert. Setzen wir schon längere Zeit erfolgreich ein.
Zitat
Das zweite Proble was mir bisher mit ClickOnce aufgefallen ist, ist dass manche User anstatt dem InstallDialog nur das Manifest im Browser angezeigt bekommen. Dieses Problem konnte ich bisher auch nicht Lösen.

Wahrscheinlich sendet der Server die falschen Mime-Types:

application/x-ms-application .application
application/x-ms-application .manifest

Damit sollte es gehen.

Thema: MySQL 5: LAST_INSERT_ID über Parameter abrufen
Am im Forum: Datentechnologien

Zitat
Wirklich? also bei MS SQL scheint es zu funktionieren (steht so zumindest in meinem ADO.NET Buch)

Das war mir nicht bewusst. Ich kann später mal schauen ob dass auch mit MySQL funktionieren sollte. Benutzt du den neuesten Connector (5.0.2)?

Thema: MySQL 5: LAST_INSERT_ID über Parameter abrufen
Am im Forum: Datentechnologien

Sowas funktioniert IMHO nur bei SPs. Mach's doch so (Syntax nicht überprüft, aber so in der Art geht's):


MySql.Data.MySqlClient.MySqlConnection conn = new MySql.Data.MySqlClient.MySqlConnection("Server=localhost; Database=MDB; UserId=xxxx; Password=xxxx");
      string sql = "INSERT INTO artists " +
        "  VALUES (null, ?name); " +
        "SELECT LAST_INSERT_ID();";
      MySql.Data.MySqlClient.MySqlCommand result = new MySql.Data.MySqlClient.MySqlCommand(sql, conn);
      conn.Open();
      result.Parameters.Add("?name", MySql.Data.MySqlClient.MySqlDbType.VarChar, 45, "name").Direction = ParameterDirection.InputOutput;
      result.Parameters["?name"].Value = "Test";
     int id = (int) result.ExecuteScalar();

Thema: Diskussion um Anfängerfehler == true / == false
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ich weiss gar nicht was es daran zu diskutieren gibt, McConnell gibt herbivore recht -> EOD

Thema: byte.tostring
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Formatting Overview

Thema: 2 Spalten ListView aus ArrayList füllen
Am im Forum: GUI: Windows-Forms

Stichworte: ListView.Items, ListViewItem, ListViewItem.SubItems. Die MSDN sollte außerdem ein Beispiel enthalten.

Thema: Performance bei bedingten Zuweisungen an bool Variablen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat
Original von T-Man
@x86fanboy:

Gilt das denn auch für lokale Variablen in Methoden?

Nein.

Thema: Performance bei bedingten Zuweisungen an bool Variablen
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Zitat
Woher sollte der Compiler auch wissen, ob eine nicht initialisierte Variable true oder false ist, bzw. welchen Wert er im Fall einer fehlenden Initialisierung zuweisen soll...

Z.B. aus der C-Sharp Language Specification
Zitat
10.4.4 Field initialization
The initial value of a field, whether it be a static field or an instance field, is the default value (§5.2) of the
field’s type. It is not possible to observe the value of a field before this default initialization has occurred, and a
field is thus never “uninitialized”. The example

using System;
class Test
{
    static bool b;
    int i;
    static void Main() {
         Test t = new Test(); 
         Console.WriteLine("b = {0}, i = {1}", b, t.i);
    }
}
produces the output
b = False, i = 0
because b and i are both automatically initialized to default values.

Thema: Wer wird Millionär
Am im Forum: Projekte

Du könntest dein Programm auch auf .Net 1.1 zurückportieren. Das haben durch SP2 die meisten Leute installiert.

Zitat
Zu dem anderen Punkt: Du meinst also, dass es prinzipiell möglich ist?

Es geht irgendwie, von den Einzelheiten hab' ich keine Ahnung. Die Suche ist dein Freund.

Thema: Wer wird Millionär
Am im Forum: Projekte

Mit ClickOnce wird das Framework während der Installation automatisch installiert, falls nicht vorhanden. Ansonsten -> Suche: Programm ohne Framework ausführen oder so ähnlich.

Thema: Wer wird Millionär
Am im Forum: Projekte

Zitat
OK, ich glaube, das lasse ich lieber sein (läuft eh nur mit dem IE, und wer hat den schon noch?) ;-)

Mitnichten! Das Ganze funktioniert auch mit Firefox sehr gut, wenn man sich seine Setup.exe selbst kompiliert. Einen Link dazu habe ich schon mal geposted, sollte über die Forensuche ganz einfach zu finden sein.

Thema: Projekt.Properties.Settings... ?!
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

C:\Dokumente und Einstellungen\Dein Benutzername\Lokale Einstellungen\Anwendungsdaten\Anwendungsname

Thema: Design Patterns
Am im Forum: Smalltalk

Zitat
Erscheinungsdatum: 6. November 2020

Bald?

Thema: Frage zu arithmetischen Operatoren in C#
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Math.Pow() ist dein Freund.

Thema: Mehrere MessageLoops und Forms in anderen Threads
Am im Forum: GUI: Windows-Forms

Um mal ein wenig Licht in die ganze Sache zu bringen:

Drag and Drop läuft ebenso wie z.B. das Clipboard noch über COM-Interop. Dazu wird intern OleInitialize() aufgerufen, welches ein STA erfordert. Deshalb, und für den Fall das eine Windows Forms Applikation ein ActiveX-Control hostet, welches per Definition ein STA-Objekt ist, wird auch die Main()-Methode von Windows Forms Applikationen automatisch von VS mit [STAThread] markiert.

Aus der MSDN:

Zitat
A call to OleInitialize on an apartment that was previously initialized as multithreaded will fail[...]

Thema: Service registrieren?!
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Introduction to Windows Service Applications

Thema: To CloseHandle() or not
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Ok. Danke dir!

Thema: To CloseHandle() or not
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Hi herbivore!

Wahrscheinlich ist meine Intention nicht so richtig rübergekommen: es wird ja ein Pointer auf ein Windowhandle übergeben. Ich will dieses Handle nicht schliessen, da dass Fenster weiter existiert wenn obige Klasse entsorgt wird. Ich möchte den Pointer, den ich in der Klasse deklariert habe, ordnungsgemäß entsorgen und frage mich ob dazu CloseHandle notwendig ist, oder IntPtr.Zero ausreicht.

Thema: To CloseHandle() or not
Am im Forum: Basistechnologien und allgemeine .NET-Klassen

Folgende Klasse:



class Foo : IDisposable
{
     private IntPtr handle;

      public Foo(IntPtr handle)
      {
           this.handle = handle;
      }
}


Der Konstruktor bekommt das Handle des Fensters welches die Klasse instanziert übergeben. Muss ich in Dispose() CloseHandle(this.handle) aufrufen, oder reicht es den Pointer auf IntPtr.Zero zu setzen?