2017-07-16 2 views
0

Was ich versuche, ist, diese Methode in einem Thread auszuführen.Führen Sie eine Methode mit Konstruktoren aus einem Thread

public static void CreateTable(string tableSegment, string ConString) 
    { 
     string strCreate = "CREATE TABLE " + tableSegment + " (CVR text,Navn text, Firma text, Nummer text, Addresse text, Postnr text, Bynavn text, Noter text, Email text, LastCallDato text, NextCallDato text, CallStatus text, MailSendt text, UniqueID text);"; 
     using (MySqlConnection conDatabase = new MySqlConnection(ConString)) 
     { 
      using (MySqlCommand cmdDatabase = new MySqlCommand(strCreate, conDatabase)) 
      { 
       conDatabase.Open(); 
       cmdDatabase.ExecuteNonQuery(); 
       conDatabase.Close(); 
      } 
     } 
    } 

So sollte es so aussehen:

Thread T = new Thread(MysqlBlocks.CreateTable(txtSegment.Text, ConString)); 
        T.Start(); 

Das Problem scheint zu sein, dass ich nicht die Konstrukteure dort passieren kann.

Antwort

0

Erstellen Sie eine Funktion mit einem Konstruktor innerhalb. Starten Sie es in einem neuen Thread.

+0

Können Sie ein Beispiel bereitstellen? – Taco2

+0

public void func() {MysqlBlocks.CreateTable (txtSegment.Text, ConString)}; Und dann Thread T = neuer Thread (func); –

+0

Natürlich, vielen Dank Mann! – Taco2

0

Es sei denn, Sie möchten den alten Schulcode vor .Net 4.X (Thread is Dead) schreiben. Ich schlage vor, die neuere Methode zu verwenden, um Threads hochzufahren (Task.Run vs BackgroundWorker):

Task.Run(() => CreateTable(txtSegment.Text, ConString)); 
Verwandte Themen