<?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>dot-web-crusher</title>
	<atom:link href="http://dot-web-crusher.de/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://dot-web-crusher.de</link>
	<description>Ein weiterer WordPress-Blog</description>
	<lastBuildDate>Thu, 26 Apr 2012 21:24:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>ANTI ACTA</title>
		<link>http://dot-web-crusher.de/?p=180</link>
		<comments>http://dot-web-crusher.de/?p=180#comments</comments>
		<pubDate>Wed, 08 Feb 2012 19:09:48 +0000</pubDate>
		<dc:creator>nikkatheone</dc:creator>
				<category><![CDATA[Home]]></category>

		<guid isPermaLink="false">http://dot-web-crusher.de/?p=180</guid>
		<description><![CDATA[Wer will das das Internet so bleibt wie es ist sollte dieses Video teilen/liken und verbreiten damit jeder weiß was auf uns zu kommen und wir etwas unternehmen können bevor es zu spät ist!]]></description>
			<content:encoded><![CDATA[<p>Wer will das das Internet so bleibt wie es ist sollte dieses Video teilen/liken und verbreiten damit jeder weiß was auf uns zu kommen und wir etwas unternehmen können bevor es zu spät ist!</p>
<p><iframe width="560" height="315" src="http://www.youtube.com/embed/9LEhf7pP3Pw" frameborder="0" allowfullscreen></iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://dot-web-crusher.de/?feed=rss2&#038;p=180</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Befehle mit Syntax &#8211; Part 1</title>
		<link>http://dot-web-crusher.de/?p=133</link>
		<comments>http://dot-web-crusher.de/?p=133#comments</comments>
		<pubDate>Sat, 07 Jan 2012 19:49:51 +0000</pubDate>
		<dc:creator>nikkatheone</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://dot-web-crusher.de/?p=133</guid>
		<description><![CDATA[Hier sehen Sie einfach eine kleine Übersicht über die meisten SQL Befehle. Ich dachte mir sowas wäre mal ganz nützlich.. wer kann sich schon alle Statements im korrekten Syntax merken? SELECT -- Gesamte Tabelle mit allen Spalten SELECT * FROM &#8230; <a href="http://dot-web-crusher.de/?p=133">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Hier sehen Sie einfach eine kleine Übersicht über die meisten SQL Befehle. Ich dachte mir sowas wäre mal ganz nützlich.. wer kann sich schon alle Statements im korrekten Syntax merken? <img src='http://dot-web-crusher.de/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p><strong>SELECT</strong></p>
<pre class="brush:sql">-- Gesamte Tabelle mit allen Spalten
SELECT * FROM table_name</pre>
<pre class="brush:sql">-- Gesamte Tabelle mit den angegebenen Spalten
SELECT column1,column2 FROM table_name</pre>
<p><strong>INSERT</strong></p>
<pre class="brush:sql">INSERT INTO table_name VALUES (column_value1,column_value2)</pre>
<pre class="brush:sql">INSERT INTO table_name(column_name1,column_name2) VALUES (column_value1,column_value2)</pre>
<p><strong>DELETE</strong></p>
<pre class="brush:sql">-- Lösche dort wo column_name1 dem String 'inhalt1' entspricht
DELETE FROM table_name WHERE column_name1 LIKE 'inhalt1'</pre>
<pre class="brush:sql">-- Lösche dort wo column_name1 gleich 1 ist
DELETE FROM table_name WHERE column_name1 = 1</pre>
<p><strong>UPDATE</strong></p>
<pre class="brush:sql">UPDATE table_name SET column_name1 = 'neuer_inhalt' WHERE column_name1 LIKE 'alter_inhalt'</pre>
<pre class="brush:sql">UPDATE table_name SET column_name1 = 'neuer_inhalt'</pre>
<p><strong>WHERE</strong></p>
<p>Die Where Klausel kann man an die Statements SELECT,  DELETE und UPDATE hängen und somit die Auswahl der Zeilen beschränken.</p>
<pre class="brush:sql">... WHERE column_name = 1</pre>
<pre class="brush:sql">... WHERE column_name LIKE 'string'</pre>
<p>Mit dem regulären Ausdruck % kann man nach Teilworten in Strings suchen. Beispiele:</p>
<pre class="brush:sql">-- da wo der String mit dem Wort suffix endet
... WHERE column_name LIKE '%suffix'</pre>
<pre class="brush:sql">-- da wo der String mit dem Wort präfix anfängt
... WHERE column_name LIKE 'präfix%'</pre>
<pre class="brush:sql">-- da wo der String das Wort teilwort enthält
... WHERE column_name LIKE '%teilwort%'</pre>
<p>Ebenso kann man Funktion benutzen.</p>
<pre class="brush:sql">-- da wo die Anzahl der Zeichen gleich 5 ist
... WHERE LEN(column_name) = 5</pre>
<p>Oder die Zeilen auf die Elemente einer Menge beschränken.</p>
<pre class="brush:sql">-- da wo der Inhalt der Spalte "column_name" in der Liste "('elem1','elem2')" enthalten ist
... WHERE column_name IN ('elem1','elem2')</pre>
<pre class="brush:sql">-- da wo der Inhalt der Spalte "column_name" in der Tabelle enthalten ist
... WHERE column_name1 IN (SELECT column_name1 FROM table_name)</pre>
]]></content:encoded>
			<wfw:commentRss>http://dot-web-crusher.de/?feed=rss2&#038;p=133</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Monstergamebot</title>
		<link>http://dot-web-crusher.de/?p=95</link>
		<comments>http://dot-web-crusher.de/?p=95#comments</comments>
		<pubDate>Wed, 14 Dec 2011 17:48:56 +0000</pubDate>
		<dc:creator>nikkatheone</dc:creator>
				<category><![CDATA[Bots]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://dot-web-crusher.de/?p=95</guid>
		<description><![CDATA[Funktionsumfang: Jagen. Spieler angreifen. Anforderungen: Diese Software benötigt .Net Framework 4.0 oder höher. Download Entwickler: nikkatheone und BlackHybrid Achtung! Das benutzten dieser Software verstößt gegen die AGB von redmoonstudios.de. Redmoonstudios ist berechtigt ihren Account zu sperren oder Inhalte ihres Accounts &#8230; <a href="http://dot-web-crusher.de/?p=95">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Funktionsumfang:</strong></p>
<ul>
<li>Jagen.</li>
<li>Spieler angreifen.</li>
</ul>
<p><strong>Anforderungen:</strong></p>
<p>Diese Software benötigt <em>.Net Framework 4.0</em> oder höher. <a title=".Net Framework 4.0" href="http://www.microsoft.com/downloads/de-de/details.aspx?FamilyID=0a391abd-25c1-4fc0-919f-b21f31ab88b7" target="_blank">Download</a></p>
<p><strong>Entwickler:</strong></p>
<p>nikkatheone und BlackHybrid</p>
<p><strong>Achtung!</strong></p>
<p>Das benutzten dieser Software verstößt gegen die AGB von redmoonstudios.de. Redmoonstudios ist berechtigt ihren Account zu sperren oder Inhalte ihres Accounts zu löschen. Dot-Web-Crusher übernimmt keine Verantwortung für gesperrte Accounts oder gelöschte Inhalte.</p>
<p><strong>Downloads:</strong></p>
<p><strong><a href="http://dot-web-crusher.de/wp-content/plugins/cimy-counter/cc_redirect.php?cc=Monstergame5&amp;fn=http://dot-web-crusher.de/wp-content/uploads/2012/02/Monstergamebot-v1.4.zip">Monstergamebot v1.4</a></strong> <strong>- 717 Downloads</strong></p>
<p><strong><a href="http://dot-web-crusher.de/wp-content/plugins/cimy-counter/cc_redirect.php?cc=Monstergame4&amp;fn=http://dot-web-crusher.de/wp-content/uploads/2011/12/Monstergamebot-v1.3.zip">Monstergamebot v1.3</a></strong> <strong>- 133 Downloads</strong></p>
<p><strong><a href="http://dot-web-crusher.de/wp-content/plugins/cimy-counter/cc_redirect.php?cc=Monstergame3&amp;fn=http://dot-web-crusher.de/wp-content/uploads/2011/12/Monstergamebot-v1.2.zip">Monstergamebot v1.2</a></strong> <strong>- 90 Downloads</strong></p>
<p><strong><a href="http://dot-web-crusher.de/wp-content/plugins/cimy-counter/cc_redirect.php?cc=Monstergame2&amp;fn=http://dot-web-crusher.de/wp-content/uploads/2011/12/Monstergamebot-v1.1.zip">Monstergamebot v1.1</a></strong> <strong>- 82 Downloads</strong></p>
<p><strong><a href="http://dot-web-crusher.de/wp-content/plugins/cimy-counter/cc_redirect.php?cc=Monstergame&amp;fn=http://dot-web-crusher.de/wp-content/uploads/2011/12/Monstergamebot-v1.0.zip">Monstergamebot v1.0</a> - 110 Downloads<br />
</strong><strong><br />
</strong></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://dot-web-crusher.de/?feed=rss2&#038;p=95</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Threading</title>
		<link>http://dot-web-crusher.de/?p=68</link>
		<comments>http://dot-web-crusher.de/?p=68#comments</comments>
		<pubDate>Sat, 10 Dec 2011 11:01:22 +0000</pubDate>
		<dc:creator>nikkatheone</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://dot-web-crusher.de/?p=68</guid>
		<description><![CDATA[In diesem Tutorial zeige ich Ihnen wie sie in C# Threads erstellen und handeln. Was sind Threads? Ein Thread ist ein Aktivitätsträger der praktisch neben dem Hauptprogramm laufen kann. Das heißt mit mehreren Threads können mehrere Aufgaben nahezu gleichzeitig bearbeitet &#8230; <a href="http://dot-web-crusher.de/?p=68">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>In diesem Tutorial zeige ich Ihnen wie sie in C# Threads erstellen und handeln.</p>
<p><strong>Was sind Threads?</strong></p>
<p>Ein Thread ist ein Aktivitätsträger der praktisch neben dem Hauptprogramm laufen kann. Das heißt mit mehreren Threads können mehrere Aufgaben nahezu gleichzeitig bearbeitet werden.</p>
<p><strong>Einführung:</strong></p>
<p>Um mit Threads arbeiten zu können benötigen wir folgenden namespace.</p>
<pre class="brush:csharp"> using System.Threading;</pre>
<p>Wenn wir einen Thread erstellen wollen brauchen wir zuerst eine Aufgabe die er bearbeiten kann. Diese Aufgabe wird als Methode deklariert.</p>
<pre class="brush:csharp">void aufgabe()
{
     // weiterer Code
}</pre>
<p>(wenn die Methode ausgeführt wurde beendet sich der Thread von selbst)</p>
<p>Nun kommen wir zum letzten Schritt. Das erstellen und starten des Threads. Hierbei darauf achten das unsere Methode &#8220;aufgabe()&#8221; ohne Klammern übergeben wird (wir übergeben ja nur die Referenz auf die Methode und wollen sie nicht aufrufen).</p>
<pre class="brush:csharp">Thread Threadname = new Thread(new ThreadStart(aufgabe));
Threadname.Start();</pre>
<p>Der Code nach &#8220;Threadname.Start()&#8221; wird direkt ausgeführt. Die Aufgabe wird neben dem MainThread (dem &#8220;Hauptprogramm&#8221;) von unserem Thread bearbeitet.</p>
<p>Hier noch ein paar weitere nützliche Funktionen.</p>
<pre class="brush:csharp">Threadname.Abort(); // Schließt den Thread</pre>
<pre class="brush:csharp">Threadname.ThreadState;
// Stellt den aktuellen Status eines Threads da</pre>
<pre class="brush:csharp">if(Threadname.ThreadState == ThreadState.Running)
// Testest ob der Thread noch läuft</pre>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://dot-web-crusher.de/?feed=rss2&#038;p=68</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bitefightbot</title>
		<link>http://dot-web-crusher.de/?p=72</link>
		<comments>http://dot-web-crusher.de/?p=72#comments</comments>
		<pubDate>Wed, 07 Dec 2011 18:38:42 +0000</pubDate>
		<dc:creator>nikkatheone</dc:creator>
				<category><![CDATA[Bots]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://dot-web-crusher.de/?p=72</guid>
		<description><![CDATA[Funktionsumfang: Jagen. Skillen. Anforderungen: Diese Software benötigt .Net Framework 4.0 oder höher. Download Achtung! Das benutzten dieser Software verstößt gegen die AGB von gameforge.de. Gameforge ist berechtigt ihren Account zu sperren oder Inhalte ihres Accounts zu löschen. Dot-Web-Crusher übernimmt keine &#8230; <a href="http://dot-web-crusher.de/?p=72">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Funktionsumfang:</strong></p>
<ul>
<li>Jagen.</li>
<li>Skillen.</li>
</ul>
<p><strong>Anforderungen:</strong></p>
<p>Diese Software benötigt <em>.Net Framework 4.0</em> oder höher. <a title=".Net Framework 4.0" href="http://www.microsoft.com/downloads/de-de/details.aspx?FamilyID=0a391abd-25c1-4fc0-919f-b21f31ab88b7" target="_blank">Download</a></p>
<p><strong>Achtung!</strong></p>
<p>Das benutzten dieser Software verstößt gegen die AGB von gameforge.de. Gameforge ist berechtigt ihren Account zu sperren oder Inhalte ihres Accounts zu löschen. Dot-Web-Crusher übernimmt keine Verantwortung für gesperrte Accounts oder gelöschte Inhalte.</p>
<p><strong>Downloads:</strong></p>
<p><strong><a href="http://dot-web-crusher.de/wp-content/plugins/cimy-counter/cc_redirect.php?cc=Bitefight2&amp;fn=http://dot-web-crusher.de/wp-content/uploads/2011/12/Bitefightbot-v1.1.zip">Bitefightbot v1.1</a> &#8211; 1133 Downloads</strong></p>
<p><strong><a href="http://dot-web-crusher.de/wp-content/plugins/cimy-counter/cc_redirect.php?cc=Bitefight&amp;fn=http://dot-web-crusher.de/wp-content/uploads/2011/12/Bitefightbot-v1.0.zip">Bitefightbot v1.0</a> &#8211; 308 Downloads<br />
</strong><strong><br />
</strong></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://dot-web-crusher.de/?feed=rss2&#038;p=72</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Spalten/Ausprägungen zusammenfassen</title>
		<link>http://dot-web-crusher.de/?p=18</link>
		<comments>http://dot-web-crusher.de/?p=18#comments</comments>
		<pubDate>Wed, 30 Nov 2011 13:40:55 +0000</pubDate>
		<dc:creator>nikkatheone</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://dot-web-crusher.de/?p=18</guid>
		<description><![CDATA[Nehmen wir an wir haben eine Tabelle mit Filmeinträgen in der es einen Eintrag &#8220;film1&#8243; gibt, der mehrfach unter verschiedenen Kategorien vorhanden ist. Wollen wir nun die Kategorien für jeden Film zusammenfassen, (z.B. durch Komma getrennt) so müssen wir die &#8230; <a href="http://dot-web-crusher.de/?p=18">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Nehmen wir an wir haben eine Tabelle mit Filmeinträgen in der es einen Eintrag &#8220;film1&#8243; gibt, der mehrfach unter verschiedenen Kategorien vorhanden ist.</p>

<table id="wp-table-reloaded-id-2-no-1" class="wp-table-reloaded wp-table-reloaded-id-2">
<thead>
	<tr class="row-1 odd">
		<th class="column-1">artikelid</th><th class="column-2">kategorie</th><th class="column-3">name</th><th class="column-4">preis</th>
	</tr>
</thead>
<tbody>
	<tr class="row-2 even">
		<td class="column-1">2</td><td class="column-2">action</td><td class="column-3">Film1</td><td class="column-4">14.00</td>
	</tr>
	<tr class="row-3 odd">
		<td class="column-1">2</td><td class="column-2">drama</td><td class="column-3">Film1</td><td class="column-4">14.00</td>
	</tr>
	<tr class="row-4 even">
		<td class="column-1">3</td><td class="column-2">comedy</td><td class="column-3">Film2</td><td class="column-4">11.00</td>
	</tr>
	<tr class="row-5 odd">
		<td class="column-1">4</td><td class="column-2">thriller</td><td class="column-3">Film3</td><td class="column-4">5.00</td>
	</tr>
</tbody>
</table>

<p>Wollen wir nun die Kategorien für jeden Film zusammenfassen, (z.B. durch Komma getrennt) so müssen wir die Einträge mit den selben Artikelids,Namen und Preisen gruppieren und die verschiedenen Kategorien zusammenfügen.</p>
<p><strong>Schritt 1:</strong></p>
<p>Gruppieren (zusammenfassen) der Einträge mit dem selben Film.</p>
<pre class="brush:sql">SELECT
artikelid,name,preis
FROM artikel
GROUP BY artikelid,name,preis</pre>
<p><strong>Ergebnis:</strong></p>

<table id="wp-table-reloaded-id-3-no-1" class="wp-table-reloaded wp-table-reloaded-id-3">
<thead>
	<tr class="row-1 odd">
		<th class="column-1">artikelid</th><th class="column-2">name</th><th class="column-3">preis</th>
	</tr>
</thead>
<tbody>
	<tr class="row-2 even">
		<td class="column-1">2</td><td class="column-2">Film1</td><td class="column-3">14.00</td>
	</tr>
	<tr class="row-3 odd">
		<td class="column-1">3</td><td class="column-2">Film2</td><td class="column-3">11.00</td>
	</tr>
	<tr class="row-4 even">
		<td class="column-1">4</td><td class="column-2">Film3</td><td class="column-3">5.00</td>
	</tr>
</tbody>
</table>

<p><strong>Schritt 2:</strong></p>
<p>Um nun die Kategorien der Gruppierungen zusammenzufassen benötigen wir einen Subselect. Diese Abfrage liefert alle Kategorien aus der Tabelle zu der jeweiligen Artikelid. Mit FOR XML PATH(&#8216; &#8216;) werden die Zeilen des Ergebnisses zusammengefügt.</p>
<pre class="brush:sql">SELECT
   artikelid
   ,(SELECT kategorie+', '
     FROM artikel AS t2
     WHERE t1.artikelid=t2.artikelid
     FOR XML PATH('')) AS kategorien -- Subselect
  ,name
  ,preis
FROM artikel AS t1
GROUP BY artikelid,name,preis</pre>
<p><strong>Ergebnis:</strong></p>

<table id="wp-table-reloaded-id-4-no-1" class="wp-table-reloaded wp-table-reloaded-id-4">
<thead>
	<tr class="row-1 odd">
		<th class="column-1">artikelid</th><th class="column-2">kategorien</th><th class="column-3">name</th><th class="column-4">preis</th>
	</tr>
</thead>
<tbody>
	<tr class="row-2 even">
		<td class="column-1">2</td><td class="column-2">action, drama,</td><td class="column-3">film1</td><td class="column-4">14.00</td>
	</tr>
	<tr class="row-3 odd">
		<td class="column-1">3</td><td class="column-2">comdey,</td><td class="column-3">film2</td><td class="column-4">11.00</td>
	</tr>
	<tr class="row-4 even">
		<td class="column-1">4</td><td class="column-2">thriller,</td><td class="column-3">film3</td><td class="column-4">5.00</td>
	</tr>
</tbody>
</table>

]]></content:encoded>
			<wfw:commentRss>http://dot-web-crusher.de/?feed=rss2&#038;p=18</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Http Post &amp; Get</title>
		<link>http://dot-web-crusher.de/?p=14</link>
		<comments>http://dot-web-crusher.de/?p=14#comments</comments>
		<pubDate>Wed, 30 Nov 2011 13:29:39 +0000</pubDate>
		<dc:creator>nikkatheone</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://dot-web-crusher.de/?p=14</guid>
		<description><![CDATA[Vorwort: Dieses Tutorial zeigt wie Sie mit C# das Hyper Transfar Protocol (Http) verwenden können. Http wird hauptsächlich zur Kommunikation zwischen Servern und Webbrowsern verwendet. Mögliche Einsatzgebiete: Webcrawler, Browsergamebots, Browser und andere Webclients. Die Implementierung: Zu nächst benötigen wir die &#8230; <a href="http://dot-web-crusher.de/?p=14">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><strong>Vorwort:</strong></p>
<p>Dieses Tutorial zeigt wie Sie mit C# das Hyper Transfar Protocol (Http) verwenden können. Http wird hauptsächlich zur Kommunikation zwischen Servern und Webbrowsern verwendet.</p>
<p><strong>Mögliche Einsatzgebiete:</strong> Webcrawler, Browsergamebots, Browser und andere Webclients.</p>
<p><strong>Die Implementierung:</strong></p>
<p>Zu nächst benötigen wir die folgenden <em>namespaces</em>.</p>
<pre class="brush:csharp">using System.Net;
using System.IO;</pre>
<p>Anschließend folgen die beiden Methoden post() und get(). Post und Get sind zwei verschiedene Funktionen des Hyper Transfer Protocols. Der Unterschied ist das bei der Getfunktion die Argumente/Parameter direkt in der URL übertragen werden. Beim der Postfunktion sind URL und Parameter getrennt. Wer es genauer wissen will -&gt; <a href="http://de.wikipedia.org/wiki/Hypertext_Transfer_Protocol#Argument.C3.BCbertragung" target="_blank">Wiki</a>.</p>
<p><strong>Methode Http GET</strong></p>
<p>Beispiel: uri = &#8220;http://www.beispielseite.de/index.php?param1=value1&amp;param2=value2&#8243;;</p>
<pre class="brush:csharp">        public string get(string uri)
        {
            HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(uri);

            webRequest.ContentType = "application/x-www-form-urlencoded";
            webRequest.Method = "GET";
            webRequest.UserAgent = "Mozilla/5.0 (Windows NT 5.0; rv:5.0) Gecko/20100101 Firefox/5.0";
             // in diesem Fall geben wir uns als Firefoxbrowser aus

            try
            {
                // Anfrage wird abgeschickt
                WebResponse webResponse = webRequest.GetResponse();
                if (webResponse == null)
                {
                    return null;
                }
                // Die Antwort(z.B. eine Seite in HTML) des Servers wird über einen Stream geladen.
                StreamReader sr = new StreamReader(webResponse.GetResponseStream());
                return sr.ReadToEnd().Trim(); // Stream wird bis zum Ende gelesen und zurückgegeben.
            }

            catch (WebException ex) // mögliche WebExceptions werden abgefangen
            {
                // response.StatusCode &lt;- enthält den Typ des Fehlers

                // Der Inhalt/Content wird trotzdem gelesen.
                HttpWebResponse response = (HttpWebResponse)ex.Response;
                StreamReader sr = new StreamReader(response.GetResponseStream());
                HTTPRequests.requests++;
                return sr.ReadToEnd().Trim(); // Der Inhalt/Content gegeben.
            }
            catch (Exception)// mögliche Exceptions werden abgefangen
            {
                throw;
            }
        }</pre>
<p><strong>Methode Http POST</strong></p>
<p>Hier mit dem Unterschied das die Parameter vorher übertragen werden.<br />
Beispiel: uri = &#8220;http://www.beispielseite.de/index.php?&#8221;;<br />
parameters = &#8220;param1=value1&amp;param2=value2&#8243;;</p>
<pre class="brush:csharp">        public string post(string uri, string parameters)
        {
            HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(uri);

            webRequest.ContentType = "application/x-www-form-urlencoded";
            webRequest.Method = "POST";
            webRequest.UserAgent = "Mozilla/5.0 (Windows NT 5.0; rv:5.0) Gecko/20100101 Firefox/5.0";
             // in diesem Fall geben wir uns als Firefoxwebbrowser aus

            byte[] bytes = Encoding.ASCII.GetBytes(parameters); // Parameter zu byte[] konvertieren
            Stream sendstream = null;
            try
            { //  Die Parameter werden übertragen
                webRequest.ContentLength = bytes.Length;   // Länge der zu übermittelnden Daten
                sendstream  = webRequest.GetRequestStream();  // Stream öffnen
                sendstream.Write(bytes, 0, bytes.Length);   // Senden
                sendstream.Close(); // Stream schließen
            }
            catch (Exception)
            { // Fehler bei der Datenübertragung
                throw;
            }

            try
            {// Die Antwort empfangen
                WebResponse webResponse = webRequest.GetResponse();
                if (webResponse == null)
                {
                    return null;
                }
                // Die Antwort(z.B. eine Seite in HTML) des Servers wird über einen Stream geladen.
                StreamReader sr = new StreamReader(webResponse.GetResponseStream());
                return sr.ReadToEnd().Trim(); // Stream wird bis zum Ende gelesen und zurückgegeben.
            }
            catch (WebException ex) // mögliche WebExceptions werden abgefangen
            {
                // response.StatusCode &lt;- enthält den Typ des Fehlers

                // Der Inhalt/Content wird trotzdem gelesen.
                HttpWebResponse response = (HttpWebResponse)ex.Response;
                StreamReader sr = new StreamReader(response.GetResponseStream());
                HTTPRequests.requests++;
                return sr.ReadToEnd().Trim(); // Der Inhalt/Content gegeben.
            }
            catch (Exception)// mögliche Exceptions werden abgefangen
            {
                throw;
            }
        }</pre>
]]></content:encoded>
			<wfw:commentRss>http://dot-web-crusher.de/?feed=rss2&#038;p=14</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Dubletten / doppelte Einträge entfernen</title>
		<link>http://dot-web-crusher.de/?p=9</link>
		<comments>http://dot-web-crusher.de/?p=9#comments</comments>
		<pubDate>Wed, 30 Nov 2011 13:23:19 +0000</pubDate>
		<dc:creator>nikkatheone</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://dot-web-crusher.de/?p=9</guid>
		<description><![CDATA[Um doppelte Einträge aus einer Tabelle zu entfernen ermittelt man zuerst die Gruppen, die die Zeilen mit den selben Merkmalen enthalten (z.B. mit dem selben Namen). Siehe Artikel: SQL Dubletten / doppelte Einträge finden. Dann selektieren wir die Größte oder &#8230; <a href="http://dot-web-crusher.de/?p=9">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Um doppelte Einträge aus einer Tabelle zu entfernen ermittelt man zuerst die Gruppen, die die Zeilen mit den selben Merkmalen enthalten (z.B. mit dem selben Namen).</p>
<p><strong>Siehe Artikel:</strong> <a title="SQL Dubletten / doppelte Einträge finden" href="http://localhost/wordpress/?p=74">SQL Dubletten / doppelte Einträge finden</a>.</p>
<p>Dann selektieren wir die Größte oder die kleinste Id in jeder Dublettengruppe.Ob Min oder Max ist hier egal (wir gehen ja davon aus das innerhalb einer Gruppe alle Einträge gleich sind, also ist es egal welchen Eintrag wir aus der Gruppe behalten). Wir wollen so von jeder Dublettengruppe NUR den Eintrag mit der Kleinsten oder der größten Id.</p>
<p>(funktioniert auch mit anderen Spalten wenn keine id vorhanden ist)</p>
<pre class="brush:sql">SELECT MAX(id) AS id
FROM tabellen_name
GROUP BY spalten_name
HAVING COUNT(*) &gt; 1</pre>
<p>Jetzt haben wir eine Menge von Einträgen die wir &#8220;behalten möchten&#8221;, jedoch nur die die auch doppelt oder mehrfach enthalten sind. Nun benötigen wir eine zweite Menge.</p>
<p>Diese Menge soll die Einträge enthalten die nicht doppelt oder mehrfach in der Tabelle sind (also auch eine Menge die wir &#8220;behalten möchten&#8221;).</p>
<pre class="brush:sql">-- Menge von Einträgen die nicht mehrfach vorkommen
SELECT MAX(id) AS id
FROM tabellen_name
GROUP BY spalten_name
HAVING COUNT(*) = 1</pre>
<p>Nun verbinden wir diese zwei Mengen mittels UNION und haben die ids, der Einträge, die in der Tabelle bleiben sollen.</p>
<pre class="brush:sql">-- Menge von Einträgen die in der Tabelle bleiben sollen.
(
   SELECT MAX(id) AS id
   FROM tabellen_name
   GROUP BY spalten_name
   HAVING COUNT(*) &gt; 1

   UNION

   -- Menge von Einträgen die nicht mehrfach vorkommen
   SELECT MAX(id) AS id
   FROM tabellen_name
   GROUP BY spalten_name
   HAVING COUNT(*) = 1
)</pre>
<p>Alternativ kann man die beiden Mengen auch mit nur einem Select abfragen.<br />
Indem man die &#8220;HAVING&#8221; Bedingung weglässt. (habe oben nur die längere Variante genommen damit es verständlicher ist)</p>
<pre class="brush:sql">-- Menge von Einträgen die in der Tabelle bleiben sollen.
(
   SELECT MAX(id) AS id
   FROM tabellen_name
   GROUP BY spalten_name
)</pre>
<p>Nun können wir einfach sagen wir wollen alle Einträge löschen die nicht in unserer Menge enthalten sind.</p>
<pre class="brush:sql">DELETE FROM tabellen_name
WHERE id
NOT IN
-- Menge von Einträgen die in der Tabelle bleiben sollen.
(
   SELECT MAX(id) AS id
   FROM tabellen_name
   GROUP BY spalten_name
)</pre>
]]></content:encoded>
			<wfw:commentRss>http://dot-web-crusher.de/?feed=rss2&#038;p=9</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Dubletten / doppelte Einträge finden</title>
		<link>http://dot-web-crusher.de/?p=1</link>
		<comments>http://dot-web-crusher.de/?p=1#comments</comments>
		<pubDate>Wed, 30 Nov 2011 09:56:52 +0000</pubDate>
		<dc:creator>nikkatheone</dc:creator>
				<category><![CDATA[SQL]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://dot-web-crusher.de/?p=1</guid>
		<description><![CDATA[Um doppelte Einträge in einer Tabelle zu finden gruppiert man die Zeilen, die in bestimmten Spalten die selben Werte besitzen und lässt sich von diesen Gruppen nur die anzeigen, die mehr als eine Zeile aufweisen. Dies funktioniert in SQL so: &#8230; <a href="http://dot-web-crusher.de/?p=1">Weiterlesen <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Um doppelte Einträge in einer Tabelle zu finden gruppiert man die Zeilen, die in bestimmten Spalten die selben Werte besitzen und lässt sich von diesen Gruppen nur die anzeigen, die mehr als eine Zeile aufweisen.</p>
<p>Dies funktioniert in SQL so:</p>
<pre class="brush:sql">SELECT spalten_name,COUNT(*) as anzahl_der_eintraege
FROM tabellen_name
GROUP BY spalten_name
HAVING COUNT(*) &gt; 1</pre>
<p>Natürlich kann man auch mehrere Spalten einbinden.</p>
<pre class="brush:sql">SELECT spalten_name,spalten_name2,spalten_name3,COUNT(*) as anzahl_der_eintraege
FROM tabellen_name
GROUP BY spalten_name,spalten_name2,spalten_name3
HAVING COUNT(*) &gt; 1</pre>
<p>Jedoch will man sich diese doppelten Einträge nicht nur anzeigen lassen sondern auch entfernen.<strong> Artikel: <a title="SQL Dubletten / doppelte Einträge entfernen" href="http://localhost/wordpress/?p=82">SQL Dubletten / doppelte Einträge entfernen</a></strong></p>
]]></content:encoded>
			<wfw:commentRss>http://dot-web-crusher.de/?feed=rss2&#038;p=1</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

