29. April 2015

Erweitungsmanager im VS 2010 aus dem Offlinemodus befreien (Stichwort Proxy)

Befindet man sich hinter einem Proxy, kann es dazu kommen, das man im Erweiterungs-Manager im Visual Studio 2010 lediglich eine Meldung erhält, das nicht nach Einträgen gesucht werden kann:



Um dem Visual Studio den Proxy beizubringen, muss man die Konfigurationsdatei des Visual Studios anpassen.

  1. Wechseln Sie dazu in der Verzeichnis in dem die EXE des Visual Studios liegt (z.B. "C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE").
  2. Öffnen Sie die Datei "devenv.exe.config" mit Administrationsrechten in einem Text-Editor. Suchen Sie die Zeile "<system.net>" (bei mir am Ende der Datei).
  3. Fügen Sie unter "<settings>" die Zeile "<servicePointManager expect100Continue="false" />" hinzu.

<system.net>
    <settings>
        <servicePointManager expect100Continue="false" />
        <ipv6 enabled="true"/>
    </settings>
</system.net>

Quelle: https://blog.anrichter.net/2011/08/keine-verbindung-zum-onlinekatalog-im-visual-studio-erweiterungsmanager

10. Januar 2014

ViewState optimieren bei unregelmäßigen ViewStateExceptions

Bei einem Projekt von uns tritt beim Kunden im Produktivsystem regelmäßig eine ViewStateException auf.

Nach einiger Recherche habe ich erfahren, das es teilweise dazu kommt, dass ein Proxy-Server den ViewState abschneidet und dieser dadurch ungültig wird. Als Lösung wird ab sofort der ViewState in mehrere Pakete gesplittet, dazu ist lediglich ein Eintrag in der web.config nötig:

<pages maxpagestatefieldlength="4096" />

In diesem Zusammenhang habe ich das Tool "ASP.NET ViewState Helper" entdeckt, welches einem die Größe der Seite und des Viewstates ausgibt. Ein wirklich sehr nettes Tool wie ich finde:










Das Tool finden Sie hier: http://www.binaryfortress.com/aspnet-viewstate-helper/

5. April 2013

Character with encoding UTF8 has no equivalent in WIN1252

Beim auslesen einer CSV-Datei und anschließendem schreiben in eine Postgres-Datenbank erscheint anschließend beim Auslesen der Daten aus PostGres folgende OdbcException:
"ERROR [22P05] FEHLER: Zeichen 0xefbfbd in Kodierung »UTF8« hat keine Entsprechung in »WIN1252«;"

Die Erklärung des Fehlers findet man hier:
http://stackoverflow.com/questions/1565234/character-with-encoding-utf8-has-no-equivalent-in-win1252# (see last post)
"That looks like the byte sequence 0xBD, 0xBF, 0xEF as a little-endian integer. This is the UTF8-encoded form of the Unicode byte-order-mark (BOM) character 0xFEFF."


Um den Fehler zu beheben sollte man beim Auslesen der Datei aus CSV nicht einfach nur UTF8-Encoding verwenden sonndern folgendes Encoding:

Encoding encode = System.Text. Encoding .GetEncoding( "utf-8" );

14. Dezember 2012

MS SQL Server - Wer verwendet welche Foreign Keys?

Dank der Hilfe von folgendem Blog, habe ich heraus gefunden, wie man eine Übersicht darüber ermitteln kann, welche Tabellen, welche Foreign Keys nutzen: http://bytestopshere.wordpress.com/2008/11/01/sql-server-script-to-find-foreign-key-dependencies/

Geben Sie einfach folgenden Befehl in das Abfragefenster im SQL Server Managemenet Studio ein und klicken Sie auf "Ausführen":

select cast(f.name  as varchar(255)) as foreign_key_name
    , r.keycnt
    , cast(c.name as  varchar(255)) as foreign_table
    , cast(fc.name as varchar(255)) as  foreign_column_1
    , cast(fc2.name as varchar(255)) as foreign_column_2
    ,  cast(p.name as varchar(255)) as primary_table
    , cast(rc.name as varchar(255))  as primary_column_1
    , cast(rc2.name as varchar(255)) as  primary_column_2
    from sysobjects f
    inner join sysobjects c on  f.parent_obj = c.id
    inner join sysreferences r on f.id =  r.constid
    inner join sysobjects p on r.rkeyid = p.id
    inner  join syscolumns rc on r.rkeyid = rc.id and r.rkey1 = rc.colid
    inner  join syscolumns fc on r.fkeyid = fc.id and r.fkey1 = fc.colid
    left join  syscolumns rc2 on r.rkeyid = rc2.id and r.rkey2 = rc.colid
    left join  syscolumns fc2 on r.fkeyid = fc2.id and r.fkey2 = fc.colid
    where f.type =  'F'
 ORDER BY cast(p.name as varchar(255))

11. Dezember 2012

Kopfzeilen auf jeder Seite wiederholen (ReportViewer - .rdlc)

Bei einem ReportViewer-Bericht (2010) soll die Kopfzeile auf jeder Seite wiederholt werden. Dies geht wie folgt:

  1. In der Anzeige der Zeilen- und Spaltengruppen den "Erweiterten Modus" aktivieren
  2. Die erste "Static" Zeilengruppe auswählen
  3. In den Eigenschaften den Wert für "KeepWithGroup" auf "After" setzen
  4. In den Eigenschaften den Wert für "RepeatOnNewPage" auf "True" setzen
  5. Die Schritte 2-4 für eine eventuell 2. Kopfzeile wiederholen

29. September 2011

ReportViewer - Summieren mit Filter

Möchte man in einem ReportViewer-Bericht in einer Tabelle eine Summe von z.B. Kosten ermitteln, bei dem beispielsweise nur ein bestimmter Rechnungstyp berücksichtigt werden soll, dann findet man hier eine Lösung: Conditional Sum for Rdlc (aka ReportViewer)

Hier die Anleitung noch einmal in Deutsch:

Unter "Bericht" --> "Berichtseigenschaften..." --> "Code" folgenden Code hineinkopieren:


Public Function ConditionalResult(checkField as Field, compareValue as Object, returnValue as Field) As Decimal
IF checkField.Value = compareValue
Return 0
else
Return returnValue.Value
end if
End Function


Dann in die entsprechende Zelle gehen (zum Beispiel Zelle in der Fußzeile der Tabelle) und einen Ausdruck in der Art einfügen:


=Sum(code.ConditionalResult(Fields!Rechnungstyp, 1, Fields!Kosten))

22. September 2011

Zeilenumbruch in Mircosoft rdlc Report einfügen

Will man einen Zeilenumbruch in einem Mircosoft rdlc Report einfügen, verwendet man folgenden Ausdruck:


= Fields!Field1.Value + System.Environment.NewLine + Fields!Field2.Value

8. Juni 2011

Unrecognized C_parameter type in copy_statement_with_parameters

Beim Versuch mittels Mono unter debian squeeze über odbc auf eine PostgreSQL-Datenbank zuzugreifen, erhielt ich folgende Fehlermeldung "Unrecognized C_parameter type in copy_statement_with_parameters". Der Fehler tritt nicht auf, wenn der Parameter vom Typ Integer ist.

Dabei habe ich die Parameter folgendermaßen dem OdbcCommand (cmd) übergeben:

cmd.Parameters.AddWithValue("?", "test");


Nach einigen ausprobieren, habe ich die Lösung des Problems gefunden. Man muss explizit den OdbcType des Parameters angeben.


OdbcParameter par1 = new OdbcParameter("?", OdbcType.Char);
par1.Value = "test";
cmd.Parameters.Add(par1);

VMware Authorization Service is not running.

Beim Versuch VMware Workstation zu starten erhielt ich heute morgen den Fehler "VMware Authorization Service is not running.". Um das Problem zu umgehen muss man wie folgt vorgehen:


  1. Eingabeaufforderung mit Administrationsrechten öffnen


  2. den Befehl "net start vmauthdservice" eingeben und ausführen


  3. die VMware Workstation öffnen, der Fehler sollte nun behoben sein


Viel Glück



7. April 2011

Mehr als 200 Zeilen im SQL Server 2008 editieren

Möchte man im SQL Server 2008 mehr als 200 Zeilen bearbeiten (Standard) kann man dies wie folgt tun:

1. Möglichkeit

Man geht auf "Extras" --> "Optionen" --> "Objekt-Explorer von SQL-Server" --> "Befehle":

Gibt man hier für "Wert für den Befehl 'Oberste Zeilen bearbeiten' eine 0 an, werden immer alle Tabelleneinträge zum Bearbeiten geöffnet. Alternativ kann man hier auch einen Wert von 500, 1000 oder ähnliches eingeben.

2. Möglichkeit

Als 2. Möglichkeit kann man in der Bearbeiten-Sicht den Wert der aktuellen Anzeige verändern oder gezielt die Anzeige einschränken um z.B: einen Wert mit bestimmter ID zu ändern. Man gehe in der Symbolleiste auf "SQL":

Dann ändert man den SQL Befehl (Top(200) entfernen und beliebe Einschränkungen vornehmen)

10. März 2011

Keine Toolbareinträge für Reports (rdlc-Dateien)

Ich wollte im Visual Studio 2008 beim Arbeiten mit Berichten (*.rdls-Dateien) die Toolbar öffnen, diese war jedoch leider leer.

Nach kurzer Suche wurde ich fündig: http://www.genmaint.com/no-report-items-in-toolbox-vs-2008-sp1.html
Hier die Lösung für Win7:

Zunächst schließt man das Visual Studio 2008.

Dann geht man in den Ordner "C:\Users\USERNAME\AppData\Local\Microsoft\VisualStudio\9.0" und löscht die versteckten Dateien:

- toolbox.tbd
- toolbox_reset.tbd
- toolboxIndex.tbd
- toolboxIndex_reset.tbd

(bzw, kopiert man diese vorsichtshalber zuvor in einen anderen Ordner)

Nun öffnet man das Visual Studio 2008 wieder und wartet eine Weile bis sich alles wieder reinitialisiert hat.

Fertig :-)

13. Januar 2011

Für TextBox "Alles Markieren" (STRG + A) aktivieren

Will man in einer System.Windows.Forms.TextBox die Möglichkeit schaffen den kompletten Text zu markieren (STRG-A) muss man eine Kleinigkeit implementieren.

Man abonniert einfach das KeyDown-Event der entsprechenden TextBox und fügt folgenden Text ein:


private void tbxOutput_KeyDown(object sender, KeyEventArgs e)
{
    if (e.Control && e.KeyValue == 65)
    {
        this.tbxOutput.SelectAll();
    }
}


Fertig :-)

20. Mai 2010

Zeilenumbrüche im VS2008 für Javascript einstellen

Ich arbeite mit dem Visual Studio 2008 liebe es, wenn der Code automatisch eingerückt wird, wenn man beispielsweise eine geschweifte Klammer schließt.

Allerdings ist für standardmäßig so eingestellt, das für Javascript der Indent style "K&R style" verwendet wird (http://en.wikipedia.org/wiki/Indent_style). Ich würde aber gerne den "Allman style" verwenden.

Lange Rede kurzer Sinn, man gehe im VS2008 auf "Extras" --> "Optionen" und wählt dann die Option "Text-Editor" --> "Jscript" --> "Formatierung" aus. Dort werden 2 Haken gesetzt für:

- Öffnende geschweifte Klammer für Funktionen in neuer Zeile platzieren
- Öffnende geschweifte Klammer für Kontrollblöcke in neuer Zeile platzieren


Tada - schon wird der Code im für mich perfekten Style eingerückt :-)

5. Mai 2010

Javascript - parseInt - Problem

Durch Zufall habe ich festgestellt, das die Javascript-Methode parsteInt(string, radix) eine Zahl als Octal ansieht, wenn der String z.B: "012" lautet, liefert ein parseInt("012") eine 10.

Wenn man ein decimal parsen möchte, sollte man also parseInt("012", 10) aufrufen.


Siehe dazu auch hier http://www.w3schools.com/jsref/jsref_parseInt.asp


JavaScript parseInt() Function

--------------------------------------------------------------------------------
JavaScript Global Functions
--------------------------------------------------------------------------------

Definition and Usage
The parseInt() function parses a string and returns an integer.

The radix parameter is used to specify which numeral system to be used, for example, a radix of 16 (hexadecimal) indicates that the number in the string should be parsed from a hexadecimal number to a decimal number.

If the radix parameter is omitted, JavaScript assumes the following:

•If the string begins with "0x", the radix is 16 (hexadecimal)
•If the string begins with "0", the radix is 8 (octal). This feature is deprecated
•If the string begins with any other value, the radix is 10 (decimal)

Syntax
parseInt(string, radix)










ParameterDescription
stringRequired. The string to be parsed
radixOptional. A number (from 2 to 36) that represents the numeral system to be used


11. März 2009

IETester - simuliert IE 5.5, 6, 7, 8 RC1

Beim entwickeln von Webseiten ist es immer wichtig die Seite unter verschiedenen Browsern zu testen. Leider kann man nicht mehrere Versionen eines Browsers auf einem System installieren. Es gibt aber ein nettes kleines Tool, welches den Internetexplorer in den Versionen 5.5, 6, 7 und 8 RC1 simuliert. In meinen bisherigen Tests war das Tool sehr erfolgreich.

Download: http://www.my-debugbar.com/wiki/IETester/HomePage

6. Juni 2008

Kleine Exception Übersicht

Hier findet man eine Übersicht über Standard-Exceptions, wie die ArgumentNullException oder die ArgumentOutOfRangeException:

http://msdn.microsoft.com/de-de/library/z4c5tckx(VS.80).aspx

28. Mai 2008

Symbolleiste im VS2005 zurücksetzen

Heute habe ich auf meinem PC SQL Server 2005 Standard installiert. Nach der Installation habe ich ganz normal mein Visual Studio 2005 gestartet, aber siehe da, die Symbolleiste "Standard" war nicht mehr so wie zuvor. Es fehlten einige Einträge wie die "Schnellsuche", "Rückwärts navigieren" etc. Das hat mir überhaupt gar nicht gefallen, da ich diese Schaltflächen häufig nutze.
Ich habe dann die "Standard"-Leiste angepasst, konnte so auf die Rasche aber nicht alle betreffenden Schaltflächen finden. Irgendwann habe ich mich dann auf die Suche begeben und fand folgende Lösung:

Extras --> "Einstellungen Importieren und Exportieren..." --> "Alle Einstellungen zurücksetzen"

Je nach dem was man hier möchte, kann man die alten Einstellungen noch speichern, oder eben nicht...

Im nächsten Schritt habe ich:

"Visual C#-Entwicklungseinstellungen" ausgewählt - und siehe da - meine Symbolleiste "Standard" war wieder die alte *GottSeiDank*.

25. April 2008

Intellisense für SKIN-Dateien

Wie hofft habe ich mich schon gefragt, warum es kein Intellisense für Skin-Dateien im Visual Studio gibt. Nach dem ich mich heute mal wieder darüber geärgert habe, suchte ich nach einer Lösung. Die Lösung war natürlich ganz simpel und man sindet auch einig Einträge im Netz dazu. Da dieser aber meistens für ein englisches Visual Studio sind, wollte ich das ganze mal in deutsch suchen, um die Chance zu erhöhen, das man auf Anhieb die richtig Auswahl trifft ;)


  1. Extras -> Optionen

  2. Text-Editor -> Dateierweiterung

  3. Oben links "skin" eintragen und "Editor für benutzerdefinierte Steuerelemente" auswählen

  4. Auf "Hinzufügen" klicken

  5. Skin-Datei beenden und neu öffnen

  6. fertig :)

16. April 2008

Warum heißt der RadioButton RadioButton?

Heute kam im Büro die Frage auf, wie der RadioButton eigentlich zu seinem Namen kam. Mein Kollege Peter hatte natürlich sofort eine Antwort parat. Und zwar:

An den alten Radios konnte immer genau ein Knopf ausgewählt werden. Wenn man einen anderen Sender einschaltet, springt der zuvor ausgewählte Knopf raus und der neue wird "reingedrückt". Das gleiche Prinzip findet sich bei einem Walkman wieder. Man kann entweder Spulen oder Abspielen, aber es sind nie 2 Knöpfe gleichzeitig heruntergedrückt ;)

P.S.: Das war wieder mal ein Posting das die Welt nicht braucht :D

6. März 2008

Die Zustandsinformationen sind für diese Seite ungültig. Möglicherweise sind sie fehlerhaft.

Ich habe eine Webanwendung entwickelt die Asp.Net AJAX verwendet. Unter anderem wird auch das AjaxControlToolkit genutzt.

Nun habe ich in einen ModalPopupExtender in dem mehrere RadioButtons liegen. Wenn die Auwahl geändert wird, reagiere ich im CodeBehind darauf. Dies hat auch bis dato immer super geklappt. Auf einmal bekam ich jedoch nach dem Ändern der Auswahl dieser RadioButtons eine ViewStateException - "Die Zustandsinformationen sind für diese Seite ungültig. Möglicherweise sind sie fehlerhaft.".

Der StackTrace der Fehlermeldung lautet:
[HttpException (0x80004005): Die Zustandsinformationen sind für diese Seite ungültig. Möglicherweise sind sie fehlerhaft.]
System.Web.UI.ViewStateException.ThrowError(Exception inner, String persistedState, String errorPageMessage, Boolean macValidationError) +267
System.Web.UI.ClientScriptManager.EnsureEventValidationFieldLoaded() +2133067
System.Web.UI.ClientScriptManager.ValidateEvent(String uniqueId, String argument) +66
System.Web.UI.Control.ValidateEvent(String uniqueID, String eventArgument) +108
System.Web.UI.WebControls.TextBox.LoadPostData(String postDataKey, NameValueCollection postCollection) +36
System.Web.UI.WebControls.TextBox.System.Web.UI.IPostBackDataHandler.LoadPostData(String postDataKey, NameValueCollection postCollection) +12
System.Web.UI.Page.ProcessPostData(NameValueCollection postData, Boolean fBeforeLoad) +353
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +7350
System.Web.UI.Page.ProcessRequest(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +213
System.Web.UI.Page.ProcessRequest() +86
System.Web.UI.Page.ProcessRequestWithNoAssert(HttpContext context) +18
System.Web.UI.Page.ProcessRequest(HttpContext context) +49
ASP.default_aspx.ProcessRequest(HttpContext context) in d:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\mn4\84e8c227\648fae87\App_Web_6i13s-qv.4.cs:0
System.Web.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +358
System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously) +64

Ich habe keine Ahnung wo dieser Fehler auf einmal herkommt. Vor allem scheint er von einer TextBox auszugehen (siehe StrackTrace), ich ändere aber lediglich den Wert eines RadioButtons! Ich validiere nichts und mache sonst auch nichts weiter, als mir in einer Session zu merken, welchen RadioButton ich gerade ausgewählt habe. Ich kann mir diesen Fehler also absolut nicht erklären :(

Ich habe längere Zeit gesucht, habe aber nicht herausgefunden wie der Fehler zu Stande kam. Letztendlich habe ich in der Page-Direktive "EnableEventValidation" auf "false" gesetzt. Danach ist das Problem nicht mehr aufgetreten.

Wenn einer eine besser Idee hat, dann bitte immer her mit Vorschlägen ;) Ich bin für alles offen :)


ciao Anke

4. März 2008

IHttpHandler und Sessions...

Ich verwende einen HttpHandler, der auf eine Session des Benutzers zugreifen soll!

Auf diese möchte ich in einer Klasse mittels "HttpContext.Current.Session["sessionName"]" zugreifen. Leider ist HttpContext.Current.Session jeweils null!

Das Problem ist jedoch ganz simpel zu lösen, man lässt den HttpHandler einfach noch von System.Web.SessionState.IRequiresSessionState erben und schon unterstützt der HttpHandler auch Sessions ;)

29. Februar 2008

"AcceptButton" bei Asp.Net setzen

Heute wollte ich einen Asp.Net-Button als "AcceptButton" setzen, d.h. als Standardbutton, der reagiert, wenn man ENTER betätigt.

Man muss dazu sagen, dass ich MasterPages verwende. Bei "normalen" Seiten, kann man in der Form-Deklaration defaultbutton="button1" setzen. Bei MasterPages geht dies jedoch nicht so simpel.

Ich habe nun herausgefunden, dass man in Asp.Net mittels "Page.Form.DefaultButton" einen DefaultButton setzen kann.

Leider schlug sowohl

Page.Form.DefaultButton = this.button1.ID;

noch

Page.Form.DefaultButton = this.button1.ClientID;

fehl, es muss

Page.Form.DefaultButton = this.button1.UniqueID;

heißen ;)

17. Januar 2008

Shortcuts in Visual Studio

Wer hat sich nicht schon immer mal gefragt was für ShortCuts es in Visual Studio alles gibt.


Wie kann man z.B. alle Regionen (regions) in einer Datei auf- bzw. zuklappen.

Dies geht ganz einfach mit der Tastenkombination

Strg+M Strg+M


Weitere Shortcut gibt es unter:

Visual C# 2005 Keyboard Shortcut Reference Poster
http://www.microsoft.com/downloads/details.aspx?FamilyID=c15d210d-a926-46a8-a586-31f8a2e576fe&DisplayLang=en

Visual C# 2008 Keybinding Reference Poster
http://www.microsoft.com/downloads/details.aspx?familyid=E5F902A8-5BB5-4CC6-907E-472809749973&displaylang=en

23. November 2007

Der Resharper und Intellisense...

Ich verwende seit einer Weile den Resharper 3.0 und bin eigentlich sehr zufrieden damit. Eigentlich! Die Intellisense mag ich nicht sonderlich, die hat mir im Original vom Visual Studio teilweise besser gefallen. Dabei meine ich zum Beispiel das verwenden von Enumeratoren, welches im Visual Studio 2004 einfach besser umgesetzt wurde, aber auch das anzeigen von Kommentaren zu einer Methode, die einfach im VS übersichtlicher dargestellt werden.

Nun wollte ich das Intellisense auf das vom VS umstellen. Dazu gibt es unter "Resharper" --> "Options" einen Eintrag "Intellisense". Dort kann man auch direkt "Visual Studio" einstellen. Prima dachte ich, das geht ja einfach... Aber nein so einfach war es dann doch nicht. Es funktionierte nun nämlich gar kein Intellisense mehr :(

Nun habe ich herausgefunden, das man das Intellisense im VS wieder aktivieren muss. Dazu geht man einfach unter "Extras" --> "Optionen" auf "Text-Editor" --> "C#". Dort setzt man dann die entsprechenden Haken bei der Anweisungsvervollständigung und schon hat man das Intellisense des Visual Studio 2005 zurück :)

13. November 2007

LineCount in Visual Studio

Wollten Sie schon immer mal wissen, wieviel Zeilen Code Sie in einem Projekt generiert haben. Mit dem Line Counter können die Zeilen ganz einfach gezählt werden.

Das kleine Tool wird installiert und schon kann es los gehen. Man kann die Zeilen einer ganzen Projektmappe zählen lassen, oder eine einzelne Projektmappe auswählen.

Dabei werden die Zeilen gezählt in denen Code steht, die in denen Kommentare stehen, leere Zeilen usw. Es wird jeweils angegeben wieviel des Codes zum Beispiel aus Kommentaren bestehen.

Ein Tool was man nicht wirklich braucht, was aber einfach witzig ist :)


Download: http://www.wndtabs.com/index.html

24. Oktober 2007

Wie lautet denn nun der passende Connectionstring?

Suchen Sie auch ab und an nach dem passenden ConnectionString, dann finden Sie hier die Lösung:

http://connectionstrings.com/

12. September 2007

Zeilenhöhe bei einem TreeView

Heute habe ich eine Asp.Net 2.0 TreeView angelegt und dort ShowLines aktiviert. Dabei entstand der Effekt, das die einfachen Linien gestückelt wurden.

Nach einer kurzen Suche im WWW fand ich diesen netten Blog-Eintrag der eine Lösung zu diesem Problem bietet:

http://blogs.msdn.com/carloc/archive/2007/05/23/broken-line-in-asp-net-2-0-treeview-in-ie-7.aspx

7. September 2007

Quellcode im Visual Studio automatisch einrücken

Wer kennt das Problem nicht, man erstellt eine Website unter Asp.Net und fügt ein Tag (z.B: ein div) hinzu und möchte nun die untergliederten Tags neu Strukturieren (einrücken).

Dies geht mit den Tastenkombinationen:

"Ctrl" + K"

und danach

"Ctrl" + "D"


Mit besten Dank an Peter B. für den Tipp ;)

P.S.: Das funktioniert natürlich auch Im CodeBehind...

16. August 2007

Die Standarddatenbank des Benutzers kann nicht geöffnet werden.

Heute habe ich in der SQL Managementkonsole eine DB umbenannt, da ich von einem Kollegen eine neue Version der Datenbank bekommen habe und die alte eben mal sichern wollte.
Nach der Umbenennung bekam ich dann folgende Meldung:

Die Standarddatenbank des Benutzers kann nicht geöffnet werden. Fehler bei der Anmeldung.
Fehler bei der Anmeldung für den Benutzer 'Benutzername'. (Microsoft SQL Server, Fehler: 4064)


Darauf hin habe ich ein wenig (viel) gegoogelt und bin dann auf diesen Beitrag gestossen:

http://support.microsoft.com/kb/307864/en-us

Achtung: Unbedingt auf die englische Version schalten!

Mit folgenden Befehlen habe ich die MASTER-DB geändert und konnte mich so zum Glück wieder an der Managementkonsole einloggen:

1. sqlcmd -E -S Instanzname -d master
2. alter login [Benutzername] with DEFAULT_DATABASE = DBName
3. GO

23. Mai 2007

Asp.Net-Konfiguration lässt sich nicht öffnen

Heute habe ich einen netten Effekt kennengelernt. Nach dem Erstellen einer neuen Webseite und öffnen des Websiteverwaltungs-Tools, erschein lediglich eine nichtssagende Fehlermeldung und man konnte keine Einstellungen vornehmen.

Nach einigem Hin und Her und etlichen Tests wurde auf einem 2. PC das selbe Prozedere durchgeführt und es wurde erfolgreich eine User-DB angelegt und auch das Anlegen von Nutzern klappte problemlos.
Das Projekt wurde dann wiederum auf den 1. Rechner kopiert und auf dem Desktop abgelegt. Und siehe da, das Websiteverwaltungs-Tools ließ sich öffnen und man konnte auch Nutzer erstellen und bearbeiten.

Es stellte sich heraus, das der 1. Versuch auf einer anderen Partition durchgeführt wurde (D: statt C:) und das Verwaltungstool scheinbar keinen Zugriff auf die Projektdaten bekommen hat. Portierte man das Projekt auf die Partition C: klappte der Zugriff wiederum problemlos.

Das ganze trat unter Windows Vista auf. Eine direkt Lösung, ausser direkt unter C: zu arbeiten habe ich momentan nicht parat - da das Problem bei einem Kollegen auftrat und dieser aus Zeitgründen erstmal diese "spontane" Lösung angewendet hat - aber ich hoffe trotzdem jemandem mit diesen Hinweisen bei der Problembehebung helfen zu können ;-)

30. März 2007

Codekommentare lesen

Wer bereits das Problem hatte, dass erstellte Kommentare von eingebundenen Bilbiotheken nicht mittels IntelliSense angezeigt wurden, der findet hier Abhilfe:


Um die generierte XML-Datei mit dem IntelliSense-Feature zu verwenden, benennen Sie die XML-Datei nach der Assembly, die unterstützt werden soll, und stellen anschließend sicher, dass sich XML-Datei und Assembly im selben Verzeichnis befinden. Wenn dann im Visual Studio-Projekt auf die Assembly verwiesen wird, wird die XML-Datei auch gefunden. Weitere Informationen finden Sie unter Anzeigen von Codekommentaren.



Quelle: http://msdn2.microsoft.com/de-de/library/3260k4x7(VS.80).aspx

22. Februar 2007

ConnectionString - Was bedeutet |DataDirectory|

Die Angabe von DataDirectory in einem ConnectionString steht in einer Webanwendung für den App_Data Ordner, in einer Windowsanwendung für das Verzeichnis in dem sich de *.exe befindet.


// Bei Bedarf kann der Pfad mittels folgendem Befehl angepasst werden
AppDomain.CurrentDomain.SetData("DataDirectory", newpath)

Diese Syntax kann für den SqlClient und für OleDb angewendet werden.


Quelle: http://blogs.msdn.com/smartclientdata/archive/2005/08/26/456886.aspx

13. Februar 2007

String in XmlNode umwandeln

Ich stand vor dem Problem einen XmlNode als Text zu speichern und später wieder in einen XmlNode umzuwandeln. Das Speichern als Text war kein Problem, das zurückwandeln stellt sich jedoch als kleines Problem dar.


XmlTextReader xmlReader = new XmlTextReader(new StringReader(stringVariable));
// if you already have an XmlDocument then use that, otherwise
// create one
XmlDocument xmlDocument = new XmlDocument();
XmlNode node = xmlDocument.ReadNode(xmlReader);


Quelle: http://www.thescripts.com/forum/thread535362.html

9. Januar 2007

Leeres Zeichen in einem Char

Wenn man einem Char ein leeres Zeichen zuweisen möchte, kann man dies folgendermaßen tun:

char c = '\0';

http://cyrilgupta.com/blog/?p=63

17. Oktober 2006

Farbige und/oder animierte Cursor verwenden

Möchte man einen eigenen farbigen oder animierten Cursor verwenden, ist dies nicht über

this.Cursor = new Cursor("Dateiname.cur");

möglich. Es werden lediglich starre schwarz-weiße Cursor angezeigt. EIne Lösung für dieses Problem findet man hier: Using Colored and Animated Cursors

29. September 2006

BusyBox für ASP.NET

Und hier noch eine schöne BusyBox für ASP.NET

http://sourceforge.net/projects/busybox/

Blendeffekt für Webseiten

Hier ein netter Tipp aus dem Eisbären Blog:

Ein Blendeffekt für Webseiten ;-)

<meta http-equiv="Page-Enter" content="blendTrans(Duration=0.2)" />
<meta http-equiv="Page-Exit" content="blendTrans(Duration=0.2)" />


Quelle: Smooth page transitions - part II
http://www.des-eisbaeren-blog.de/Default.aspx?SearchKey=blend

Problem mit dem Decimal-Datentyp und OleDbParametern

Mir ist neulich ein Problem mit OleDbParametern aufgefallen. Ich weise einem Parameter einen Decimal hinzu, sagen wir einmal "1,23", in der Datenbank wird jedoch "123" gespeichert, das Komma wird also einfach herausgeschnitten!

Ein double-Wert der dem Parameter übergeben wird, wird inklusive Kommas korrekt gespeichert. Also entweder sollte man generell doubles verwenden, oder den decimal-Wert vor dem zuweisen in den OleDbParameter in einen String konvertieren, wobei man natürlich die Kultur (CultureInfo) beachten muss. Alternativ kann man auch den Decimal vor dem zuweisen zu dem Parameter in einen double konvertieren, hier wird auch der korrekte Wert "1,23" abgespeichert.

Wenn jemand hier was genaueres weiß, oder einen anderen Tipp hat, dann immer her damit ;-)

http://www.mycsharp.de/wbb2/thread.php?threadid=25406&hilightuser=294

21. September 2006

VS.NET 2005 - ToolBox verliert Icons

Ab und an passiert es, das die ToolBox im Visual Studio.NET 2005 Icons verliert.

Um den Fehler zu beheben kann man einfach mit der rechten Maustaste in die ToolBox klicken und auf "Toolbox zurücksetzen" ("reset toolbox") gehen.


http://www.mycsharp.de/wbb2/thread.php?threadid=21102

15. September 2006

Reservierte Worte in Jet 4.0

Bei der Arbeit mit Jet 4.0 passiert es häufig, das man Fehlermeldungen erhält obwohl der SQL-Befehl korrekt aussieht und dieser auch zum Beispiel in Access ausgeführt werden kann. Das kan darin liegen, das reservierte Wörter wie DATE, IMAGE, KEY oder auch PASSWORD verwendet werden.

Beispiel:

select username, password from user;

Da sowohl "username" als auch "password" reservierte Wörter sind, würde eine Exception erscheinen. Folgende Abfrage jedoch würde keine Exception auslösen, da eckige Klammern verwendet werden:

select [username], [password] from user;


Im Folgenden finden Sie eine Übersicht der reservierten Wörter:

http://support.microsoft.com/?kbid=248738

BallonToolTips können durch einen Popup-Blocker unterbunden werden

Achtung, bei der Verwendung von Ballon-ToolTips sollten Sie acht geben, denn diese können durch XP-Tools wie zum Beispiel XP-AntiSpy ausgestellt werden.

http://www.mycsharp.de/wbb2/thread.php?threadid=24359&hilight=tooltip