Laden...

Forenbeiträge von ArnoNuehm Ingesamt 47 Beiträge

29.06.2012 - 10:27 Uhr

Danke.
Das ging, hab aber jetzt auch die andere Lösung.
Falsches Ereignis war gewählt.
Nicht DragDrop, sondern DragEnter war es

29.06.2012 - 09:04 Uhr

Hallo,

ist es möglich einen Link von einer Webseite aus Chrome, Firefox oder IE in eine C# Anwendung zu ziehen?
In meinem Fall möchte ich das der Link dann in eine Textbox gezogen werden kann.

Die Forensuche und Google haben mir dabei leider bisher nicht helfen können.

So weit bin ich bisher:

textBox1 hab ich AllowDrop = true
DragDrop-Ereignis hat folgende Methode


        private void textBox1_DragDrop(object sender, DragEventArgs e)
        {
            if (e.Data.GetDataPresent(typeof(string)))
            {
                string s = (string)e.Data.GetData(typeof(string));
                textBox1.Text = s;
            }
        }
05.06.2012 - 13:32 Uhr

Hallo,

ich möchte den Inhalt eines ListView-Controls sortieren lassen.
Nach der ersten Spalte geht das. Auch das klicken auf den ColumnHeader klappt mit dem sortieren.

Doch wie sortieren ich nach mehreren Spalten?

Also folgendes...

B | 1
A | 2
A | 1
B | 2

Sortiert ist es dann so...

A | 2
A | 1
B | 2
B | 1

Ich will aber folgendes Ergebnis haben...

A | 1
A | 2
B | 1
B | 2

Doch wie bekomme ich das hin?

06.05.2012 - 09:57 Uhr

Danke Herbivore.

So im Ansatz hatte ich es schon probiert, leider ging das nicht (<filename[^>]>(.?)</filename>).

Deine Lösung klappt.

06.05.2012 - 09:05 Uhr

Guten Morgen,

ich steh hier mal wieder völlig auf dem Schlauch.

Folgenden String habe ich...

<filename PARAMETERdieSICHändernKÖNNENoderAUCHganzFEHLENkönnen>inhalt</filename>

Und zwar möchte ich **inhalt **bekommen.
Wenn <filename> da steht, klappt es mit <filename>(.*?)</filename>.
Kommen jedoch Parameter dazu, geht das natürlich nicht.

Meine probierten Ansätze waren jetzt...
<filename(.?)>(.?)</filename>
<filename*>(.*?)</filename>

Habe jetzt mehrere Seiten durchwühlt, aber irgendwie schein ich da gerade eine Blockade zu haben.

Wie kann ich beliebige Zeichen nach <filename zulassen?
Muss ich alles mögliche in [] angeben?

15.02.2012 - 13:29 Uhr

Danke Euch.

Ich habe es eben schon lösen können und poste später mal meinen aktuellen Code dazu.

15.02.2012 - 10:34 Uhr

Was mache ich nun falsch?

private void downloadStarten_Click(object sender, EventArgs e)
{
	if (listView1.Items.Count > 0)
	{
		Thread thread = new Thread(doDownload);
		thread.Start();
	}
	else MessageBox.Show("Keine Downloads in der Liste !", "Fehler");
}

private void doDownload()
{
	int z = 1;
	while (z <= listView1.Items.Count)
	{
		this.Invoke(new MethodInvoker(downloadWorker));
		z++;
	}
}

private void downloadWorker()
{
	for (int i = 0; i < listView1.Items.Count; i++)
	{
		string downloadName = listView1.Items[i].SubItems[1].Text;
		string url = myObject.getDataLink(downloadName);
		int downloadItemId = i;
		myDlObject.download(url, downloadItemId);
	}
}
15.02.2012 - 09:52 Uhr

Danke, das versuch ich gerade mal.

So sieht der Code nach dem Umbau aus...

private void downloadStarten_Click(object sender, EventArgs e)
{
	if (listView1.Items.Count > 0)
	{
		Thread thread = new Thread(downloadWorker);
		thread.Start();
	}
	else MessageBox.Show("Keine Downloads in der Liste !", "Fehler");
}

private void downloadWorker()
{
	this.Invoke(new Action(() =>
	{
		for (int i = 0; i < listView1.Items.Count; i++)
		{
			string downloadName = listView1.Items[i].SubItems[1].Text;
			string url = myObject.getDataLink(downloadName);
			int downloadItemId = i;
			myDlObject.download(url, downloadItemId);
		}
	}));
}

Nun hängt aber mein Hauptprozess, er lädt die erste Datei runter und es gibt auch keine Fortschrittsanzeige mehr (das wohl weil der Hauptprozess hängt).

Ich glaub ich sitz schon wieder zu lang davor.

15.02.2012 - 09:29 Uhr

Hallo,

ich hab da mal wieder ein kleines Problem.

Ich habe eine Liste mit Downloads die ich abarbeiten will.
Es soll immer nur ein Download aktiv sein.

Mein aktueller Code sieht so aus...

private void downloadStarten_Click(object sender, EventArgs e)
{
	if (listView1.Items.Count > 0)
	{
		for (int i = 0; i < listView1.Items.Count; i++)
		{
			string downloadName = listView1.Items[i].SubItems[1].Text;
			string url = myObject.getDataLink(downloadName);
			Thread thread = new Thread(delegate() { myDlObject.download(url); });
			thread.Start();
		}
	}
	else MessageBox.Show("Keine Downloads in der Liste !", "Fehler");
}

Hier wird jedoch alles direkt gestartet.
Wie stelle ich es an das ich erst nach erfolgreichem beenden eines Threads den nächsten starte?

15.02.2012 - 09:26 Uhr

Problem gelöst.

Es fehlte p.BeginOutputReadLine();

12.02.2012 - 16:32 Uhr

Das wäre natürlich ne ganze schlechte Lösung.

So wie es aktuell ist, erfahre ich erst ob der Download beendet ist wenn ich in den Order schaue und gucke ob die Datei nun von Größe 0 auf xxx gewachsen ist.

12.02.2012 - 14:25 Uhr

Ok, mit cmd.exe geht es.

Kann mir jemand sagen warum es mit rtmpdump.exe nicht geht?
Muss ich da etwa anders vorgehen um an die Ausgabe zu kommen (Downloadfortschritt)?

12.02.2012 - 14:20 Uhr

Hallo,

mit folgendem Code ist bei mir die stdOut leer.

            Process process = new Process();
            process.StartInfo.FileName = "xcopy.exe";
            process.StartInfo.Arguments = "/?";
            process.StartInfo.UseShellExecute = false;
            process.StartInfo.RedirectStandardOutput = true;

            process.Start();

            string stdOut = process.StandardOutput.ReadToEnd();
            //Ausgabe von process einlesen mit StreamReader
            //using (StreamReader reader = process.StandardOutput)
            //{
            //    //Ausgabe nach "richtextBox1" 
            //    textBox1.Text = reader.ReadToEnd();
            //}
            textBox1.Text = stdOut;

            process.Close();

Der Fehler mit dem doppelten ReadToEnd ist da nun raus.

EDIT: Ok, dann probier ich es mal mit was anderem als xcopy und melde mich nochmal.

12.02.2012 - 13:11 Uhr

Hallo,

ich hab mal wieder ein Problem.

Und zwar möchte ich bei einem Programm die Ausgabe eines externen Programmes verarbeiten welches ich starte.

Da ich da massive Probleme habe, hab ich mal nen neues Projekt auf gemacht um das mit der Ausgabe zu testen.

Folgenden Code hab ich mal zum testen, aber es kommt keine Ausgabe.

        private void button1_Click(object sender, EventArgs e)
        {
            Process process = new Process();

            process.StartInfo.FileName = "xcopy.exe";
            process.StartInfo.Arguments = "/?";
            process.StartInfo.UseShellExecute = false;
            process.StartInfo.RedirectStandardOutput = true;

            process.Start();

            string stdOut = process.StandardOutput.ReadToEnd();
            //Ausgabe von process einlesen mit StreamReader
            using (StreamReader reader = process.StandardOutput)
            {
                textBox1.Text = reader.ReadToEnd();
            }

            process.Close();
        }

So ähnlich hab ich es in meinem Programm auch, da es nicht lief, hab ich mit mal nen Snippet besorgt um zu testen, aber das scheint nicht zu gehen.

stdOut ist und bleibt leer.
(ein textBox1.Text = stdOut; hatte ich auch verbaut)

Kann mir da jemand auf die Sprünge helfen?

04.12.2011 - 19:53 Uhr

Läuft.

Danke !!!

04.12.2011 - 19:32 Uhr

Es funktioniert nicht, da deine Methode c12.doIt nicht den Parameter object nimmt.

Nicht?

public string doIt(object doArray)

Hab die Methode extra umgebaut um object annehmen zu können.

04.12.2011 - 19:13 Uhr

Hallo,

ich steh mal wieder vor einem Problem.

Folgendermaßen versuche ich eine Methode einer anderen Klasse in einem Thread auszuführen...


                    object[] arr = new object[1];
                    arr[1] = name;
                    Thread thread1 = new Thread(new ParameterizedThreadStart(cl2.doIt));
                    thread1.Start(arr);

Nun bekomme ich die Meldung: > Fehlermeldung:

Keine Überladung für "doIt" stimmt mit dem Delegaten "System.Threading.ParameterizedThreadStart" überein.

Was mache ich den falsch?
Habe bei meiner Suche jetzt mehrere Seiten gefunden auf denen das auch so erklärt wird, aber irgendwie klappt es bei mir nicht.

04.12.2011 - 13:05 Uhr

Hat sich erledigt.

Es war der Proxy.

Ich habe eine zweite Methode in der ersten aufgerufen mit der ich Unterseiten auslese.
Dort hatte ich vergessen das client.Proxy = null; zu setzen wie es vorgeschlagen wurde.

Vielen Dank für die Hilfe !

04.12.2011 - 12:49 Uhr

Das mit dem DNS ist sehr unwahrscheinlich, da die Seite sonst problemlos aufzurufen ist und nach dem ersten mal auch das ganze schneller abläuft.

Hab es aber trotzdem probiert, ohne Erfolg.

Das mit dem Proxy hat ebenfalls nichts gebracht.

Was mich eben sehr stutzig macht, ist die Tatsache das es nur beim ersten mal nach Programmstart so lang dauert.
Danach läuft es ja zügiger.
mit den 6 - 11 Sekunden kann ich ja leben.

04.12.2011 - 11:12 Uhr

Wie es aussieht dauer es hier so lang...

doc.Load(client.OpenRead("http://domain.de"), Encoding.UTF8);
04.12.2011 - 11:00 Uhr

in welcher Zeile genau hängt er diese 34 Sekunden laut Debugger ?

Wie kann ich das feststellen?
Aktuell stoppe ich nur die Zeit vom Anfang bis zum Ende.

04.12.2011 - 09:48 Uhr

Guten Morgen,

einen frohen 2. Advent wünsche ich.

Ich lese hier eine Webseite aus und parse den Quelltext.

Das Problem was ich habe ist, wenn ich das Programm starte und die Seite auslese, dauert das ganze so um die 34 Sekunden.
Stosse ich danach erneut das auslesen an, dauert es zwischen 6 und 11 Sekunden.

Hier mal der Code den ich dazu benutze...


            WebClient client = new WebClient();
            HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
            doc.Load(client.OpenRead("http://domain.de"), Encoding.UTF8);
            HtmlNode rootNode = doc.DocumentNode;
            HtmlNodeCollection results = rootNode.SelectNodes("//div");
....

Ich habe auch mal probiert folgendes vorher zu setzen...


            System.Net.ServicePointManager.UseNagleAlgorithm = true;
            System.Net.ServicePointManager.Expect100Continue = false;

Brachte keine Änderung.

Eine Idee??

28.11.2011 - 07:31 Uhr

Danke Euch.

Mit ExecuteScalar gehts dann auch 😉
Die Querys habe ich auch angepasst.

27.11.2011 - 13:44 Uhr

Hallo,

ich verwende für mein Tool die SQLite DB.
Funktioniert bisher auch ganz gut, nur hab ich probleme mit dem auslesen der letzten RowId.

Ich habe das Beispiel hier aus dem Forum genommen und damit rumprobiert, aber nix.

Folgender Code ist vorhanden...


public int insertAutor(string name)
{
	using (SQLiteConnection connection = new SQLiteConnection())
	{
		connection.ConnectionString = "Data Source=" + dbFile;
		connection.Open();

		StringBuilder sb = new StringBuilder();
		sb.AppendLine("INSERT INTO [autor] ([name])");
		//sb.AppendLine("OUTPUT INSERTED.ID");
		sb.AppendLine("VALUES (@name)");

		using (SQLiteCommand cmd = new SQLiteCommand(sb.ToString(), connection))
		{
			cmd.Parameters.AddWithValue("name", name);
			//cmd.CommandText = "SELECT last_insert_rowid()";
			//cmd.ExecuteNonQuery();
			cmd.CommandText = "SELECT last_insert_rowid()";
			return cmd.ExecuteNonQuery();
		}
	}
}

Lasse ich sb.AppendLine("OUTPUT INSERTED.ID"); drin, dann bekomme ich eine Fehlermeldung. Habe auch nirgendwo auf der SQLite Homepage etwas zu INSERTED.ID finden können.

Nehme ich wie unten cmd.CommandText = "SELECT last_insert_rowid()"; mit rein, dann geht alles bis zum Ende durch, allerdings ist der return-Wert immer 0.
Habe wie man sieht auch schon probiert vorher die INSERT-Anweisung abgeschickt und dann versucht die RowId auszulesen. Ohne Erfolg.

Was mache ich da falsch?

27.11.2011 - 12:28 Uhr

Hallöchen,

als erstes wünsche ich mal allen einen schönen ersten Advent.

Nun zu meinem Problem...

Ich habe ein Treeview welches ich mit Autoren (ParentNode) und mit Buchtiteln fülle.
Wenn nun jetzt jemand einen Buchtitel auswählt und auf einen Infobutton klickt, dann bekommt er Informationen zu dem Buchtitel angezeigt.

Wie umgehe ich es aber das er den Autor (ParentNode) auswählt und klickt?

Also am liebsten wäre es mir ja das er die ParentNodes garnicht selektieren kann.
Dazu habe ich aber bisher nichts finden können, ob und wie ich das einstelle.

Wenn das nicht geht, dann würde ich abfragen wollen ob der SelectedNode ein ParentNode ist.
Aber auch das hab ich noch nicht rausfinden können wie ich es anstellen müsste.

31.10.2011 - 08:21 Uhr

Moin moin,

ich parse eine Webseite die im UTF-8 Format vorliegt.
Wenn ich die Inhalte in einer Textbox ausgebe, dann sind die Umlaute natürlich im UTF-8 Format.

Wenn ich das hier im Forum richtig verstanden hatte, ist es in C# auch UTF-8.
Also warum wird das dann nicht richtig dargestellt?
Und wie wandel ich das um?

Das einzige was ich gefunden habe dazu ist die Klasse UTF8Encoding, aber damit bin ich irgendwie nicht weiter gekommen.

Kann mir da wer nen Tipp geben?

30.10.2011 - 16:47 Uhr

Habs gelöst. Danke


            HtmlNodeCollection results = rootNode.SelectNodes("//div");
            int test = 0;
            foreach (HtmlNode link in results)
            {
                //textBox1.Text += link.InnerText;
                if (test == 1)
                    listBox1.Items.Add(link.InnerText.Trim());
                if (link.InnerText.Trim() == "NEU")
                    test = 1;
                else test = 0;
            }
30.10.2011 - 10:57 Uhr

Hallo,

hört sich sinnvoll an 😉
Hast Du da eventuell nen kleinen Ansatzcode für mich?
Bin da absoluter Neuling und hab bisher auch nicht wirklich ne hilfreiche Doku zu Html Agility Pack gefunden.

30.10.2011 - 09:52 Uhr

Hallo,

ich stehe da wieder einmal vor einem Problem.
Ich möchte eine HTML Seite parsen und mir Überschriften anzeigen lassen.
Diese sollen mir nur angezeigt werden wenn die Neu sind.

So sieht der HTML Code aus...

<div class="class1"><a href="/link1.php" target="_self">NEU</a></div>
<div class="class2"><a href="/link1.php" target="_self">Überschrift</a></div>
<div class="class1"><a href="/link2.php" target="_self"></a></div>
<div class="class2"><a href="/link2.php" target="_self">Überschrift</a></div>
<div class="class1"><a href="/link3.php" target="_self"></a></div>
<div class="class2"><a href="/link3.php" target="_self">Überschrift</a></div>
<div class="class1"><a href="/link4.php" target="_self">NEU</a></div>
<div class="class2"><a href="/link4.php" target="_self">Überschrift</a></div>

Nachdem ich mir mit RegEx einen abgebrochen habe, bin ich auf Html Agility Pack gestossen.
Das klappte auch auf anhieb recht gut.
Ich bin soweit das mir NEU angezeigt wird, aber ich habs bisher nicht geschafft mir die Überschrift dazu anzeigen zu lassen.
Also nur wenn er NEU findet, dann vom nächsten div den innerText anzeigen zu lassen.

Hier mal mein Code...

WebClient client = new WebClient();
HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
doc.Load(client.OpenRead("http://www.domain.de"));
HtmlNode rootNode = doc.DocumentNode;
HtmlNodeCollection results = rootNode.SelectNodes("//div[@class='class1']");
foreach (HtmlNode link in results)
{
	if (link.InnerText.Trim() == "NEU")
		listBox1.Items.Add(link.InnerText.Trim());
}

Ich hoffe mir kann da jemand einen denkanstoss geben.

30.08.2011 - 11:19 Uhr

Namen?
Ich hab da leider nichts finden können.

Es kamen auch Themen hervor wie "mit IrfanView konvertieren zu tif und wieder zurück und dann Logs durchsehen".

Ich hatte gezielt nach Tools gegoogelt, aber bin da nicht wirklich fündig geworden.

30.08.2011 - 10:48 Uhr

Wenn ein Teil abgebrochen ist und dann Grau erscheint, oder aber die Bilderanzeige von Windows das Bild garnicht mehr wiedergeben kann.

30.08.2011 - 09:14 Uhr

Hallo,

ich habe hier einige 10000 Fotos wovon einige einen defekt haben nachdem ich einen Plattencrash hatte.
Jedes Bild einzeln anzuschauen ist mir etwas zu mühsam.
Ein Programm welches die Dateien alle überprüft habe ich vergebens gesucht.

Hinweise hier im Forum wie man sowas angeht hab ich auch nicht gefunden.
Daher mal meine direkte Frage.

Kann mir jemand nen Tip geben wie/womit ich eine Grafik (fast nur .jpg Files) auf defekte überprüfen kann?

26.06.2011 - 12:52 Uhr

Hallo winSharp93,

klappt wunderbar.
Danke Dir und schönen Sonntag noch.

26.06.2011 - 11:57 Uhr

Hallo,

ich sitze hier mal wieder vor einem Problem bei dem ich bisher nicht zur Lösung kam.
Ich lese die Dateinamen eines Ordners ein und packe diese in eine checkedListBox.
Nun will ich mittels Button alle Items mit einer bestimmten Endung markieren.
Also wenn ich den Button "Alle xls Dateien auswählen" klicke, sollen alle Dateinamen mit .xls am Ende ausgewählt werden.

String durchsuchen, ok, aber wie kann ich lediglich die letzten 4 Stellen überprüfen?
Wird zwar unwahrscheinlich sein das in dem Dateinamen selber nochmal .xls ist und die Endung dann anders ist, aber wenn, dann wollte ich es schon richtig machen.

25.06.2011 - 15:20 Uhr

Habe die Lösung.

webBrowser1.Navigate(textBox1.Text, "_self", null, ("Referer: " + textBox1.Text + " \r\n"));

24.06.2011 - 12:59 Uhr

Mit anderen Browsern wird der Ref übertragen.
IE8 Standard, da nie genutzt.

24.06.2011 - 10:27 Uhr

IDN-Servernamen senden ist eingeschaltet.
Daran scheint es dann nicht zu liegen.

24.06.2011 - 10:11 Uhr

Das Webbrowser-Control verwendet die Einstellungen des Internet Explorers.
Hast Du dort die Weiterleitung des Referers deaktiviert, so wird auch das Control den Referer nicht setzen.

Wo find ich denn diese Einstellung?
Über google hab ich lediglich die Info gefunden das es im IE garnicht möglich ist.

24.06.2011 - 08:45 Uhr

Guten Morgen,

ich hab mir ein kleines Tool gebastelt mit dem ich ne Webseite aufrufen kann.
Klappt auch soweit alles super, nur wenn ich beispielsweise auf einen Link klicke und zu einer anderen Seite komme, erscheint dort kein Referrer.
Also ein klick auf seite1.de der mich zu seite2.de leitet. In den Logfiles bei seite2.de erscheint kein Referrer.

Muss ich das irgendwo bei dem Steuerelement aktivieren?
Hab dazu bisher leider nichts gefunden.

24.06.2011 - 08:32 Uhr

Hallo herbivore,

danke für die Aufklärung.
Das lass ich dann wohl lieber und geh erstmal an einfachere Dinge 😉

22.06.2011 - 13:14 Uhr

Hallo herbivore,

danke für die Antwort.
Wenn ich das richtig sehe, dann lade ich mit dem Control ganze Webseiten.
Das möchte ich nicht.
Beispiel:

Ich habe eine Seite offen mit einem Textfeld.
In dieses Textfeld soll etwas rein, was in meinem Programm steht.
Ich will in meinem Programm einen Button drücken und er soll dann den Text dort einfügen.
Meinetwegen auch ein klick auf den Button und dann muss ich das Textfeld anklicken wo es rein soll und er füllt es automatisch da rein.
Also eine schnellere Copy&Paste Funktion 😉

21.06.2011 - 21:36 Uhr

Hallo,

ich teste grad etwas mit c# rum.
Habe eine Form erstellt mit einem Button.
Nach klick auf diesen Button möchte ich das ein Text in ein Textfeld auf einer Webseite eingefügt wird.

Ist sowas möglich?
Wenn ja, kann mir jemand wie ich das machen muss?

Hab leider grad keinen Schimmer wie ich auf das Browserfenster zugreifen kann und etwas einfügen kann.

28.11.2010 - 19:00 Uhr

Auf der SQLite Seite war ich heute bereits und die verlinkte Seite hab ich nicht so richtig geschnallt 😦

Ich werds mir nochmal in ruhe wennd er Kopf wieder frei ist mal durchlesen bis ich es raffe, sonst löcher ich Euch mit Fragen zu den Teilen die ich nicht verstehe 😉

SQL ist mir nicht ganz neu, nur bei PHP bin ich bisschen was anderes gewohnt.

Danke für Eure Geduld, Ihr werdet noch von mir hören.

Schönes Restwochenende wünsche ich und einen schönen restlichen 1. Advent.

28.11.2010 - 15:35 Uhr

Vielen dank für die Hilfe.
Hab es gelöst bekommen, allerdings nicht mit ExecuteScalar.
Hab da 3 Stunden dran rum probiert und es schliesslich folgendermaßen gelöst...

            foreach (DictionaryEntry _variablenname in _table)
            {
                command.CommandText = "Select * FROM config WHERE configname = '" + _variablenname.Key + "'";

                SQLiteDataReader reader = command.ExecuteReader();

                if (reader.HasRows == false)
                {
                    reader.Close();
                    command.CommandText = "INSERT INTO config (configname,configvalue) VALUES ('" + _variablenname.Key + "', '" + _variablenname.Value + "')";
                    command.ExecuteNonQuery();
                }
                else
                {
                    reader.Close();
                    command.CommandText = "UPDATE config SET configvalue='" + _variablenname.Value + "' WHERE configname='" + _variablenname.Key + "'";
                    command.ExecuteNonQuery();
                }
            }

28.11.2010 - 01:09 Uhr

Leider bin ich durch den Link noch nicht zur Lösung gekommen.

Jemand eine Idee?

27.11.2010 - 18:22 Uhr

Abort due to constraint violation column configname is not unique

Den Link werd ich mir mal ansehen, danke.

27.11.2010 - 17:59 Uhr

Hallo,

verwendetes Datenbanksystem: sqlite3

Vor wenigen Tagen fing ich mit C# an, ohne viel Vorkenntnisse in dem Bereich und muss sagen ich komm eigentlich dank meines Buches, der vielen Webseiten und diesem Forum hier bisher ganz gut zurecht.

Nun steh ich vor einem Problem bei dem ich grad nicht so weiter komme.

Zuerst mal der Code um den es geht...

foreach (DictionaryEntry _variablenname in _table)
            {
                // Überprüfen ob Eintrag bereits existiert
                command.CommandText = "SELECT * FROM config WHERE configname='" + _variablenname.Key + "'";
                if (command.ExecuteNonQuery() == 0)
                {
                    // Eintrag nicht vorhanden, also neu setzen
                    command.CommandText = "INSERT INTO config (configname,configvalue) VALUES ('" + _variablenname.Key + "', '" + _variablenname.Value + "')";
                    command.ExecuteNonQuery();
                }
                else if (command.ExecuteNonQuery() > 0)
                {
                    // Eintrag vorhanden, also UPDATE
                    command.CommandText = "UPDATE config (configvalue) VALUES ('" + _variablenname.Value + "') WHERE configname='" + _variablenname.Key + "'";
                    command.ExecuteNonQuery();
                }
            }

Ich habe in der DB die Spalte configname unique gesetzt.
Aufgrund einer Fehlermeldung komme ich zu dem Punkt das meine Überprüfung auf bereits vorhandene Einträge nicht funktioniert, oder ich aber ein Problem mit dem Rückgabewert der Select-Anweisung habe.

Ich hoffe mir kann da jemand nen entscheidenen Tip geben.