Windows Forms

LINQ-to-SQL versus ADO.NET Entity Framework

Wer sich sich die beiden Frameworks genauer anschaut stellt sich recht schnell die Frage, wieso braucht man beides... Auf der Technical Summit in Berlin mit einem gleichnamigen Vortrag bekam ich die Antwort dazu: Die beiden Entwicklerteams haben nichts von einander gewußt und es wurde doppelt entwickelt. (siehe auch) Im Detail wurden zwar auch die Vor- und Nachteile der einzelnen Umsetzungen im Detail erklärt, um abschließend kund zu tun, dass Linq-To-Sql zwar weiter "weiter unterstützt" wird, aber das Team bereits nicht mehr existiert. Eine weitere Entwicklung findet sozusagen nicht mehr statt. Das Entity Framework dagegen hat zwar im Moment noch nicht ganz so viele Features, was sich allerdings...

posted @ Wednesday, December 03, 2008 8:56 PM | Feedback (2)

Enum-Werte auslesen

Mit Hilfe von System Reflection kann man Enumwerte auslesen und entsprechend weiter verarbeiten. using System.Reflection; private enum Fruits {       Orange = 1,       Apple = 2,       Pear=3 } static void Main() {       Type dataType = Enum.GetUnderlyingType(typeof(Fruits));              foreach (FieldInfo field in typeof(Fruits).GetFields(                            BindingFlags.Static | BindingFlags.GetField | BindingFlags.Public))       {             object value = field.GetValue(null);             Console.WriteLine("{0}={1}", field.Name, Convert.ChangeType(value, dataType));        }      Console.ReadLine(); } EDIT: Oder eben einfach mit  Enum.GetValues(Fruits); Enum.GetNames(Fruits); (Danke Dani für den Kommentar!)  

posted @ Thursday, February 14, 2008 10:44 AM | Feedback (2)

Default-Values im DataGridView und BindingDatasource

Wenn man im DataGridViev in Windows Forms einen Datensatz mit den durch den Designer erstellten Einstellungen erstellt und automatisch aktualisiert, bekommt man in der Datenbank per default NULL-Values. Um das zu verhindern, füge ich in Form_Load einen Event für TableNewRow hinzu, in dem ich wiederum die Defaultvalues setzen kan: Private Sub Form_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load Me.myDataSetTableAdapter.Fill(Me.myDataSet.myTablename) AddHandler myDataSet.Tables(0).TableNewRow, AddressOf newRowHandlerEnd SubSub newRowHandler(ByVal sender As Object, ByVal...

posted @ Thursday, December 13, 2007 9:31 AM | Feedback (0)

Connectionstring zur Laufzeit ändern

Mit folgendem Code kann man den in den Appsettings eingetragenen ConnectionString zur Laufzeit zu ändern: My.MySettings.Default.Item (connectionName) = connectionString Wenn der Connectionstring in der App.config gespeichert werden soll, hilft folgende Funktion: Sub saveConnectionString(ByVal connectionName As String, _ ByVal connectionString As String) Dim Config As Configuration Dim Section As ConnectionStringsSection Dim Setting As ConnectionStringSettings Dim ConnectionFullName As String ConnectionFullName = String.Format("{0}.My.MySettings.{1}", _ System.Reflection.Assembly.GetExecutingAssembly.GetName.Name, _ connectionName) Config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None) Section = CType(Config.GetSection("connectionStrings"), ConnectionStringsSection) Setting = Section.ConnectionStrings(ConnectionFullName) If IsNothing(Setting) Then Throw New Exception("Connection mit dem Namen " & _ connectionName & " nicht gefunden.") Setting.ConnectionString = connectionString Config.Save(ConfigurationSaveMode.Full) 'Hier wird der Connectionstring für die aktuelle Laufzeit geändert My.MySettings.Default.Item(connectionName) = connectionString End Sub

posted @ Wednesday, December 12, 2007 10:48 AM | Feedback (0)

Save WindowState

s

posted @ Thursday, December 06, 2007 10:31 PM | Feedback (0)