2016-05-19 5 views
1

Ich versuche, einen Code zu schreiben, der Daten in eine Datenbank einfügen wird, sobald Benutzer auf Schaltfläche klicken. Es stimmt etwas nicht mit dem Code und es scheint nicht richtig zu funktionieren. Ich verbinde mich mit einer externen Datenbank, die auf meinem Hosting-Provider basiert.Daten in Datenbank einfügen, sobald Benutzer auf Schaltfläche klickt

private void druk_Click(object sender, EventArgs e) 
     { 
      MySql.Data.MySqlClient.MySqlConnection conn; 
      string myConnectionString; 

      myConnectionString = "server=s59.hekko.net.pl;uid=truex2_kuba;" + 
       "pwd=test;database=truex2_kuba;"; 

      try 
      { 
       conn = new MySql.Data.MySqlClient.MySqlConnection(myConnectionString); 
       conn.Open(); 
       MySqlCommand cmd = new MySqlCommand(); 
      } 
      catch (MySql.Data.MySqlClient.MySqlException ex) 
      { 
       MessageBox.Show(ex.Message); 
      } 

       cmd.CommandText = "insert into [barcode]values(@class, @tree, @type, @amount, @length, @width, @square)"; 
       cmd.Parameters.AddWithValue("@class", klasa.Text); 
       cmd.Parameters.AddWithValue("@tree", gatunek.Text); 
       cmd.Parameters.AddWithValue("@type", rodzaj.Text); 
       cmd.Parameters.AddWithValue("@amount", amount.Text); 
       cmd.Parameters.AddWithValue("@length", length.Text); 
       cmd.Parameters.AddWithValue("@width", width.Text); 
       cmd.Parameters.AddWithValue("@square", textBox1.Text); 
       int a = cmd.ExecuteNonQuery(); 
       if (a > 0) 

      { 
       MessageBox.Show("Zapisane do raportu"); 
      } 
+0

Übergeben Sie den Benutzernamen und das Passwort in der Verbindungszeichenfolge? –

+0

Was ist die Fehlermeldung? –

+0

Bitte setzen Sie den Code unterhalb Ihres 'catch' Blocks _inside_ in den' try' Block. Dies ist der Code, der _executes_ die Abfrage ausführt, und dieser probalby löst eine Ausnahme aus. Dann sagen Sie uns, was diese Ausnahme ist. –

Antwort

1

Das Problem ist folgendes:

MySqlCommand cmd = new MySqlCommand(); 

im Rahmen des catch Block try ist.

Weiterhin in dem Code, gab es einen Hinweis auf die cmd Variable, die null ist, und folglich keine Daten in geht.

Verschieben es außerhalb des try, catch Block.

+0

Ich habe dies außerhalb der Versuch und Catch-Block bewegt, aber jetzt bekomme ich einen Fehler Lesen aus dem Stream hat – Truex

+0

Setzen Sie die Haltepunkte bei * 1 * 'conn = .. .', * 2 * 'cmd.CommandText =' ..., * 3 * 'int a = cmd.ExecuteNonQuery();', Führen Sie den Code aus, und sagen Sie mir, was das Ergebnis des Fehlers war. – t0mm13b

Verwandte Themen