C# Variablen bei mySQL unter C# in CommandText benuten

Hornisse

Ensign
Registriert
Juni 2006
Beiträge
194
Wie die Überschrift schon sagt, ich bekomms nicht hin variablen zu benutzen und hab bisher noch nix gefunden was mir weiter hilft.
Code:
 private void comboBox1_SelectedValueChanged(object sender, EventArgs e) //Auslesen Planeten von Systeme aus ComoboBox 1 und zu ComboBox 2 addieren.
  {
      MySqlConnection connection = new MySqlConnection(dbconnect);
      MySqlCommand cmd = connection.CreateCommand();
      MySqlDataReader Reader;
      anz = 0;
      int sid = comboBox1.SelectedIndex;
      sid = +1;
      int cid = 0;
      string row;

      comboBox2.Items.Clear();
     
     cmd.CommandText = "SELECT * FROM planeten where planetsid =3"; hier möchte anstatt der 3 ne Variable benutzen für die ID
  connection.Open();
      Reader = cmd.ExecuteReader();
      
      while (Reader.Read())
      {
          string name = "anzahl";
          anz = (int)Reader[name];
        
      }

      do                                                                    // Planeten Namen nach Anzahl zur ComboBox2

      {

          planet = "planetencol" + cid;
          row = (string)Reader[planet];
          comboBox2.Items.Add(row);
          ++cid;

      }
      while (cid < anz);
     
      connection.Close();
 
Die Seite hab ich auch schon gefunden, nur leider funktioniert das nicht bei der ID, also planetsid = @sid
 
Hornisse schrieb:
Die Seite hab ich auch schon gefunden, nur leider funktioniert das nicht bei der ID, also planetsid = @sid
Wenn das nicht geht, dann zeig uns doch bitte mal die SQLParameter definition bzw deinen Aufruf der Parameters.Add Methode
 
Wie "funktioniert nicht"?

Kann es vielleicht hieran liegen?
Code:
      sid = +1;
 
Wie willst Du die Variable denn da drin haben? Einfach über den String oder SqlParameter Klasse?

Wenn Du sie einfach im String haben möchtest dann z.B. cmd.CommandText = "SELECT * FROM planeten where planetsid = " + sid;

Evtl. noch sid.toString(), sollte aber auch so gehen.

Für SqlParameters gibts hier ein Beispiel:

http://www.dotnetperls.com/sqlparameter

Edit: Ach Du nutzt MySql. Mit der Parameter Klasse sollte es da vermutlich ähnlich laufen. Kann aber leichte Abweichungen geben, bei Oracle weiss ich z.B., dass die Parameternamen völlig egal sind und es auf die Reihenfolge ankommt. Aber eine Doku zu den MySql Klassen sollte weiterhelfen.
 
cmd.CommandText = "SELECT * FROM planeten where planetsid" + sid + ";";

-> So habe ich es bisher immer gemacht.
 
Stimmt sicher ist es nicht. Oh und mein Link wurde ja auch schon genannt, dann sollte ja alles klar sein, zumindest der nicht MySql spezifische Teil.
 

Ähnliche Themen

Zurück
Oben