custom config section class

Eine eigen configsection Klasse muss von ConfigurationSection abgeleitet sein, braucht eine Property SectionName, anbei der Code zum lesen und Schreiben, bei Fehlersuche ist es ratsam im Visual Studio unter Debug/Exceptions bei CLR Exceptions das Häckchen bei Thrown anzuhacken, da Fehler sonst vom Configurationmanager unterdrückt werden. Aktiviert man aber dass die Ausführung bei thrown Exceptions unterbricht,bekommt [...]

Default Values in Stored Procedures, Severity Levels

ALTER PROCEDURE testRaiseError @Severity int =18 AS BEGIN – SET NOCOUNT ON added to prevent extra result sets from – interfering with SELECT statements. SET NOCOUNT ON; Raiserror(‘Test Raiserrror’,@Severity,10) END Fehler ab einer Severity von 10 brechen ein laufendes TSQL Script ab und gelten als Fehler

Transaktion mit Fehlerbehandlung in TSQL

Beispiel Insert und Update in einer Transaktion, wenn eines fehlschlägt wird zurückgerollt und der Fehler weitergegeben BEGIN TRAN T1 BEGIN TRY –write all values to mcit.auditrail (@UserId) INSERT INTO [AuditTrail] ([ActionType],[ObjectType],[ObjectId],[OldValues],[NewValues],[UserId]) SELECT ‘Update’,’Products’,Id,CONVERT(Nvarchar(MAX),Price),CONVERT(Nvarchar(MAX),Price*@PriceFact),@UserId from product where [year]=@Year and SupplierGroupId=@SupplierGroupId and IsDeleted=0 update mcit.product set Price=Price*@PriceFact where [year]=@Year and SupplierGroupId=@SupplierGroupId and IsDeleted=0 END TRY BEGIN CATCH [...]

log4net – einfaches Besipiel fuer rolling file appender, Email und Datenbank appender

appender schreiben die messages in files, mails, datenbanken …; die messages werden mit den loggern erzeugt, wobei es eine logger hirachie gibt an deren Spitze der root logger steht, der auch alle messages die von anderen loggern erzeugt wurden loggt (also an seine appender weitergibt). So ist es möglich mit einem logger z.b. alle log [...]

Spaltenheader beim Kopieren einschliessen

Spaltenheader beim Kopieren einschliessen

Im SqlManagement Studio: Optionen / Abfrageergebnis / SQL Server / Ergebnisse in Raster / Spaltenheader beim Kopieren … einschliessen

OLE Server mittels C#

OLE Automation dient dem Zugriff auf Com Objekten con Script Sprachen aus, diese benötigen ein Late Binding, da ja kein Compiler vorhanden ist, der das Binding vor der Laufzeit macht. Daher gibt es das IDispatch Interface, alle OLE Server müssen dieses Implementieren. In c# erledigt die ganze Interfacedefinition usw. die Attributierung der Klasse, die COM [...]

Copy/Paste bug in VS 2010

The copy/paste bug from Visual Studio 2010 is fixed now: https://connect.microsoft.com/VisualStudio/feedback/details/553061/vs2010-copy-paste-functions-are-not-working-as-expected?wa=wsignin1.0 Since Dec, 7th the SP1 Beta is availalbe, which fixes the bug. You can download the SP1 Beta from here: http://go.microsoft.com/fwlink/?LinkId=207130

textfile tracelistener adden & verwenden

ins app.config File einfügen: <system.diagnostics> <trace autoflush=”true” indentsize=”2″> <listeners> <add name=”textfilelistener” type=”System.Diagnostics.TextWriterTraceListener” initializeData=”Log.txt”/> </listeners> </trace> </system.diagnostics> im code verwenden: Trace.TraceInformation(Application.ExecutablePath + ” started at ” + DateTime.Now.ToString());

windows forms anzeige refreshen während hintergrundtask im selben thread läuft

eigentlich ist es ja nicht schön, einen längerdauernden task im GUI Thread laufen zu lassen, aber bei quick & dirty testforms macht es ab und zu sinn. Wenn man den status des länger dauernden tasks dann anzeigen will, ist es sinnvoll nicht nur this.refresh(); aufs formular in der langdauernden schleife aufzurufen sondern auch Application.DoEvents(); … [...]

Office 365 – Neue Version der Microsoft Online Services (BPOS) vorgestellt

Office 365 – Neue Version der Microsoft Online Services (BPOS) vorgestellt

Microsoft hat gestern die neue Version der “Business Productivity Online Suite” (BPOS) vorgestellt. Unter dem neuen Namen “Office 365” stehen damit ab (Anfang) 2011 (genauere Infos zum Launchtermin gibt es derzeit noch nicht) nicht nur die neuen Versionen der bekannten Produkte sondern auch viele neue Features zur Verfügung. Neue und unterschiedliche Versionen Mit Office 365 [...]