<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Ralf Eisenreich &#187; visual studio</title>
	<atom:link href="http://sqlblog.de/blog/tag/visual-studio/feed/" rel="self" type="application/rss+xml" />
	<link>http://sqlblog.de/blog</link>
	<description>SQLBlog.DE &#124; ..things to remember</description>
	<lastBuildDate>Tue, 24 Nov 2009 16:18:27 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>PHP Editor: Visual Studio</title>
		<link>http://sqlblog.de/blog/2007/11/php-editor-visual-studio/</link>
		<comments>http://sqlblog.de/blog/2007/11/php-editor-visual-studio/#comments</comments>
		<pubDate>Fri, 30 Nov 2007 00:23:04 +0000</pubDate>
		<dc:creator>Ralf</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[editor]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://sqlblog.de/blog/index.php/2007/11/30/php-editor-visual-studio/</guid>
		<description><![CDATA[Ein sehr guter PHP Editor inklusive Debugging-, Deployment- und (Smarty)-Template-Unterstützung heißt VS.PHP von Jcx.Software. AuÃŸerdem gibt es 4 verschiedene Versionen: VS.Php Standalone Edition VS.Php for Visual Studio 2005 VS.Php for Visual Studio .Net 2003 VS.Php for Visual Studio .Net Besonders die Integration in Visual Studio ist sehr interessant. Das sagt Jcx.Software dazu: If you are [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://sqlblog.de/blog/wp-content/uploads/2007/11/vsphp.png" alt="VS.PHP" /></p>
<p>Ein sehr guter PHP Editor inklusive Debugging-, Deployment- und (Smarty)-Template-Unterstützung heißt <a href="http://www.jcxsoftware.com/jcx/vsphp/home">VS.PHP</a> von <a href="http://www.jcxsoftware.com">Jcx.Software</a>.</p>
<p>AuÃŸerdem gibt es 4 verschiedene Versionen:</p>
<ul>
<li>
<ol>VS.Php Standalone Edition</ol>
<ol>VS.Php for Visual Studio 2005</ol>
<ol>VS.Php for Visual Studio .Net 2003</ol>
<ol>VS.Php for Visual Studio .Net</ol>
</li>
</ul>
<p>Besonders die Integration in Visual Studio ist sehr interessant.</p>
<p>Das sagt Jcx.Software dazu:</p>
<blockquote><p>If you are a .Net developer you may wonder why VS.Php? Php is one of the most popular languages for developing web applications. In fact, the Php community has the largest pool of rich open source applications, frameworks and resources to make your development life easier. VS.Php lets those who enjoy using Visual Studio use their favorite IDE for Php development. VS.Php also provides many unique features by leveraging the Visual Studio IDE like Php/Javascript debugging.</p></blockquote>
<p>[Quelle: <a href="http://www.jcxsoftware.com">Jcx.Software</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://sqlblog.de/blog/2007/11/php-editor-visual-studio/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>VS.Net Fonts and Colors</title>
		<link>http://sqlblog.de/blog/2007/11/vsnet-fonts-and-colors/</link>
		<comments>http://sqlblog.de/blog/2007/11/vsnet-fonts-and-colors/#comments</comments>
		<pubDate>Mon, 26 Nov 2007 12:39:06 +0000</pubDate>
		<dc:creator>Ralf</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[.Net]]></category>
		<category><![CDATA[colors]]></category>
		<category><![CDATA[fonts]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://sqlblog.de/blog/index.php/2007/11/26/vsnet-fonts-and-colors/</guid>
		<description><![CDATA[Abhängig vom Medium kann eine unterschiedliche Farbwahl die Lesbarkeit verbessern. So gibt es auch für unsere Entwicklungswerkzeuge verschiedene Themes, die Farben und Schriftarten anpassen können. Visual Studio Themes: Themes 1 Themes 2 Visual Studio Colors: Back vs. White Textmate Theme Farben von Visual Studio 2005 nach MS SQL Management Studio übertragen: VSColorsToSQL Meine Farben: VS2005Settings.zip [...]]]></description>
			<content:encoded><![CDATA[<p>Abhängig vom Medium kann eine unterschiedliche Farbwahl die Lesbarkeit verbessern.  So gibt es auch für unsere Entwicklungswerkzeuge verschiedene Themes, die Farben und Schriftarten anpassen können.</p>
<p><a title="kontrast" href="http://sqlblog.de/blog/wp-content/uploads/2007/11/contrast.png"><img src="http://sqlblog.de/blog/wp-content/uploads/2007/11/contrast.png" alt="kontrast" /></a></p>
<p><strong>Visual Studio Themes</strong>:</p>
<p><a title="VS Themes" href="http://www.winterdom.com/weblog/CategoryView,category,VS+Color+Scheme.aspx">Themes 1<br />
</a></p>
<p><a title="VS Themes" href="http://www.winterdom.com/weblog/CategoryView,category,VS%2BColor%2BScheme,2.aspx">Themes 2</a><a title="VS Themes" href="http://www.hanselman.com/blog/ChangingYourColorsInVisualStudioNETBlackVersusWhite.aspx"><br />
</a></p>
<p><a title="VS Themes" href="http://www.hanselman.com/blog/ChangingYourColorsInVisualStudioNETBlackVersusWhite.aspx">Visual Studio Colors: Back vs. White<br />
</a></p>
<p><a title="VS Themes" href="http://blog.wekeroad.com/2007/10/17/textmate-theme-for-visual-studio-take-2/">Textmate Theme</a></p>
<p><strong>Farben von Visual Studio 2005 nach MS SQL Management Studio übertragen</strong>:</p>
<p><a title="VSColorsToSQL" href="http://www.winterdom.com/weblog/2007/10/31/ColorSchemesInSQL2005ManagementStudio.aspx">VSColorsToSQL</a></p>
<p><strong>Meine Farben</strong>:<br />
<a title="VS2005 Settings" href="http://sqlblog.de/blog/wp-content/uploads/2007/12/vs2005.zip">VS2005Settings.zip</a></p>
<p>[inspired by: <a href="http://www.darksideofvisualstudio.net/">Join the dark side of Visual Studio</a>]</p>
]]></content:encoded>
			<wfw:commentRss>http://sqlblog.de/blog/2007/11/vsnet-fonts-and-colors/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reports mit ASP.NET und SQL Server 2005: One or more rows contain values violating non-null, unique, or foreign-key constraints</title>
		<link>http://sqlblog.de/blog/2007/03/reports-mit-aspnet-und-sql-server-2005-one-or-more-rows-contain-values-violating-non-null-unique-or-foreign-key-constraints/</link>
		<comments>http://sqlblog.de/blog/2007/03/reports-mit-aspnet-und-sql-server-2005-one-or-more-rows-contain-values-violating-non-null-unique-or-foreign-key-constraints/#comments</comments>
		<pubDate>Thu, 01 Mar 2007 07:23:31 +0000</pubDate>
		<dc:creator>Ralf</dc:creator>
				<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[SQL Server]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://ralf-eisenreich.de/blog/index.php/2007/03/01/reports-mit-aspnet-und-sql-server-2005-one-or-more-rows-contain-values-violating-non-null-unique-or-foreign-key-constraints/</guid>
		<description><![CDATA[Der Fehler &#8220;An error has occurred during report processing. Exception has been thrown by the target of an invocation. Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.&#8221; tritt oft auf, wenn in einer ASP.NET-Anwendung lokale Reports verwendet werden, die Daten aus einer SQL-Query von einem DataSet erhalten. [...]]]></description>
			<content:encoded><![CDATA[<p>Der Fehler</p>
<blockquote><p>&#8220;An error has occurred during report processing.<br />
Exception has been thrown by the target of an invocation.<br />
Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.&#8221;</p></blockquote>
<p>tritt oft auf, wenn in einer ASP.NET-Anwendung lokale Reports verwendet werden, die Daten aus einer SQL-Query von einem DataSet erhalten.</p>
<p>Das Durchforsten verschiedener Foren (beispielsweise <a href="http://forums.microsoft.com/MSDN">MSDN</a>) hat mir leider auch nicht weitergeholfen.</p>
<p>Die Lösung war aber einfach:</p>
<ol>
<li>das DataSet in Visual Studio öffnen</li>
<li>im DataSet eine Spalte heraussuchen (oder erzeugen) die Unique ist (sich also auch als Primary Key eignen würde).</li>
<li>im Eigenschaften-Fenster die Unique-Eigenschaft auf True setzen für diese Spalte.</li>
</ol>
<p><img id="image186" src="http://ralf-eisenreich.de/blog/wp-content/uploads/2007/03/dataseterror.gif" alt="DataSet" /></p>
]]></content:encoded>
			<wfw:commentRss>http://sqlblog.de/blog/2007/03/reports-mit-aspnet-und-sql-server-2005-one-or-more-rows-contain-values-violating-non-null-unique-or-foreign-key-constraints/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASP.NET: local ReportViewer</title>
		<link>http://sqlblog.de/blog/2006/11/aspnet-local-reportviewer/</link>
		<comments>http://sqlblog.de/blog/2006/11/aspnet-local-reportviewer/#comments</comments>
		<pubDate>Tue, 14 Nov 2006 09:49:46 +0000</pubDate>
		<dc:creator>Ralf</dc:creator>
				<category><![CDATA[.Net]]></category>
		<category><![CDATA[ASP.Net]]></category>
		<category><![CDATA[reportviewer]]></category>
		<category><![CDATA[visual studio]]></category>

		<guid isPermaLink="false">http://ralf-eisenreich.de/blog/index.php/2006/11/14/aspnet-local-reportviewer/</guid>
		<description><![CDATA[Der lokale ReportViewer und die Verwendung von Parametern Mit Visual Studio 2005 sowie Web Developer Express Studio wird das ReportViewer-Control mitgeliefert. Dieses Steuerelement kann in .NET-Anwendungen verwendet werden und unterstützt die Darstellung von Berichten, die in Report Definition Language definiert werden. Außerdem kann der ReportViewer Daten filtern, sortieren, gruppieren oder aggregieren. Die Datenpräsentation kann in [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Der lokale ReportViewer und die Verwendung von Parametern</strong></p>
<p>Mit Visual Studio 2005 sowie Web Developer Express Studio wird das ReportViewer-Control mitgeliefert. Dieses Steuerelement kann in .NET-Anwendungen verwendet werden und unterstützt die Darstellung von Berichten, die in Report Definition Language definiert werden. Außerdem kann der ReportViewer Daten filtern, sortieren, gruppieren oder aggregieren. Die Datenpräsentation kann in Listen, Tabellen, Diagrammen und Matrizen erfolgen. Sogar das Conditional Formatting ist möglich. Besonders hilfreich ist die Möglichkeit, Berichte in verschiedene Formate wie PDF oder Excel zu exportieren.</p>
<p>Ein in eine ASP.NET-Anwendung integrierter Bericht könnte so aussehen:<br />
<a class="imagelink" title="ReportViewer Example" href="http://ralf-eisenreich.de/blog/wp-content/uploads/2006/11/reportviewer-example.png"><img id="image145" src="http://ralf-eisenreich.de/blog/wp-content/uploads/2006/11/reportviewer-example.thumbnail.png" alt="ReportViewer Example" /></a></p>
<p>Die Daten für diese Berichte können von jeder Datenquelle kommen. Die Anwendung in der der ReportViewer eingebettet wird ist für die Bereitstellung der Daten zuständig. Daten müssen dem ReportViewer nur in der Form von ADO.NET DataTables oder einer Sammlung von Business Objekten übergeben werden.</p>
<p><span id="more-143"></span></p>
<p>Hat man auf seinem Server neben dem IIS, ASP.NET auch den ReportServer (eine Erweiterung des SQL-Server 2005) installiert, kann man Remote-Berichte in dieses Steuerelement einbetten, die dann vom ReportServer bereitgestellt und generiert werden. Als Zugabe gibt es einen Wizard, der die Erstellung von Berichten unterstützt und weitere Export-Formate wie TIFF, CSV usw.</p>
<p>Als Alternative bietet sich das Einbetten lokaler Berichte an. Dazu übergibt man dem in der eigenen Anwendung eingebetteten ReportViewer einen lokal abgelegten Bericht. Lokale Berichte tragen die Dateiendung RDLC (Report Definition Language Client-Side).</p>
<p>Besonders hilfreich ist die Verwendung von Parametern, um Daten in einem Bericht eingrenzen zu können. Bei der Verwendung von Remote-Berichten kann man Parameter direkt bei der Erstellung des Berichts definieren. Beim Aufruf wird dann eine Parameter-Maske eingeblendet, die eine Veränderung der Parameter ermöglicht.<br />
Bei der Verwendung lokaler Berichte gibt es diese Parameter-Maske leider nicht. Auch wenn man direkt im Bericht Parameter definiert hat, wird diese Maske nicht eingeblendet. Es macht also keinen Sinn bei lokalen Berichten Parameter zu definieren. Vielmehr ist es hier dann die Aufgabe der Anwendung, die die Daten bereitstellt, eine Filtermöglichkeit bereitzustellen.</p>
<p>In folgende Schritten kann man einen lokalen Bericht in einem ASP.NET-Projekt hinzufügen:</p>
<ul>
<li>Ein Datasets im Verzeichnis App_Code erstellen.<br />
Im Dataset einen TableAdapter hinzufügen, der die gewünschten Daten bereitstellt. In der Abfrage können auch Parameter definiert werden.</li>
<li>Einen Report erstellen im Verzeichnis App-Data.<br />
In Visual Studio kann der Report per Drag and Drop zusammengeklickt werden, wobei das vorher erstellte Dataset in der Toolbox angezeigt wird.</li>
<li>In einer ASP.NET-Seite den ReportViewer hinzufügen und den erstellten Bericht übergeben. Danach muss noch die ObjectDataSource konfiguriert werden, die erstellt wird sobald ein Bericht im ReportViewer ausgewählt wird oder Rebind gewählt wird.</li>
<li>Falls Parameter im Bericht verwendet werden sollen, muss das gewünschte Steuerelement (z.B. eine Textbox oder eine ComboBox) zu der ASP.NET-Seite hinzugefügt werden. In dem Page_Load-Ereignis wird dann folgender Code definiert:</li>
</ul>
<div class="igBar"><span id="lvb-2"><a href="#" onclick="javascript:showPlainTxt('vb-2'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">Visual Basic:</span>
<div id="vb-2">
<div class="vb">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080;">' set default value for the data source</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">ObjectDataSource1.<span style="color: #66cc66;">SelectParameters</span>.<span style="color: #66cc66;">Item</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #ff0000;">"month"</span><span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color: #66cc66;">DefaultValue</span> = cboMonth.<span style="color: #66cc66;">SelectedValue</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080;">' show / hide report viewer</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #b1b100;">Dim</span> dv <span style="color: #b1b100;">As</span> <span style="color: #b1b100;">New</span> Data.<span style="color: #66cc66;">DataView</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">dv = ObjectDataSource1.<span style="color: #66cc66;">Select</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #b1b100;">If</span> dv.<span style="color: #66cc66;">Table</span>.<span style="color: #66cc66;">Rows</span>.<span style="color: #66cc66;">Count</span>&amp;gt; <span style="color: #cc66cc;color:#800000;">0</span> <span style="color: #b1b100;">Then</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">ReportViewer1.<span style="color: #66cc66;">Visible</span> = <span style="color: #b1b100;">True</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #b1b100;">Else</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">ReportViewer1.<span style="color: #66cc66;">Visible</span> = <span style="color: #b1b100;">False</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #b1b100;">End</span> <span style="color: #b1b100;">If</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #808080;">' Live-Filter</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #b1b100;">If</span> chkFilter.<span style="color: #66cc66;">Checked</span> = <span style="color: #b1b100;">True</span> <span style="color: #b1b100;">Then</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">ObjectDataSource1.<span style="color: #66cc66;">FilterExpression</span> = <span style="color: #b1b100;">String</span>.<span style="color: #b1b100;">Format</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #ff0000;">"(month = '{0}')"</span>, cboYear.<span style="color: #66cc66;">SelectedValue</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #b1b100;">Else</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">ObjectDataSource1.<span style="color: #66cc66;">FilterExpression</span> = <span style="color: #ff0000;">""</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #b1b100;">End</span> <span style="color: #b1b100;">If</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">ReportViewer1.<span style="color: #66cc66;">LocalReport</span>.<span style="color: #66cc66;">Refresh</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Bei der Verwendung von Parametern bei der Datenabfrage im Dataset wird in der ObjectDataSource (die Datenquelle für den ReportViewer) ein Default-Parameter definiert, der dann an die Select-Anweisung der Abfrage im Dataset übergeben wird.<br />
Möchte man von einem Steuerelement Daten übergeben, kann auch auf diesem Weg erfolgen.<br />
Mit Hilfe des DataView-Elements wird überprüft, ob die ObjectDataSource überhaupt Daten zurückgibt, wobei dann je nach Ergebnis der ReportViewer angezeigt wird oder nicht.<br />
Im Beispielcode wurde eine ComboBox für die Auswahl des Monats (cboMonth) verwendet.</p>
<p>Möchte man sozusagen live Daten Filtern, kann dies über die FilterExpression in der ObjectDataSource erfolgen. Dazu werden zunächst alle Daten im Dataset geladen und später in der ObjectDataSource vor der Ãœbergabe an den ReportViewer gefiltert. bei dieser Methode müssen keine Parameter in der Select-Anweisung definiert werden. Allerdings wird die Abfragedauer höher sein, da immer alle Daten aus der Datenbank geholt werden.<br />
Im Beispielcode wurde eine ComboBox fÃ¼r die Auswahl des Jahrs (cboYear) verwendet.</p>
]]></content:encoded>
			<wfw:commentRss>http://sqlblog.de/blog/2006/11/aspnet-local-reportviewer/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
