c# und mysql

nubie01

Newbie
Registriert
Feb. 2016
Beiträge
6
Hallo liebe Forengemeinde.

Ich habe folgende Frage, und zwar ob diesr code so möglich ist?

MySqlDataAdapter mda = new MySqlDataAdapter("SELECT count(*) FROM `table 1` WHERE name like ' and Auftragsnr like '" + textBox1.Text + "%'" + textBox2.Text + "%'", mcon);

Um das Problem ein wenig zu beschreiben....
Ich habe eine Excel tabelle in eine MySQL Datenbank überführt und versuche nun mir verschiedene Statistiken in einem gridview anzeigen zu lassen.
Soweit hat bisher alles funktioniert wie ich es mir vorgestellt habe.
Jetzt habe ich 2 Textboxen erstelle in der einen wird der name eingetragen und in der anderen eine auftragsnummer...funktioniert auch soweit und wird mir alles richtig im gridview angezeigt.
Zusätlich habe ich einen Button angelegt mit folgendem Inhalt:

private void button5_Click(object sender, EventArgs e)
{
MySqlConnection mcon = new MySqlConnection("database=statedv;datasource=localhost;port=3306;username=root;password=");
MySqlDataAdapter mda = new MySqlDataAdapter("SELECT count(*) FROM `table 1` WHERE name like ' and Auftragsnr like '" + textBox1.Text + "%'" + textBox2.Text + "%'", mcon);

mcon.Open();
DataSet ds = new DataSet();
mda.Fill(ds, "table 1");
dataGridView1.DataSource = ds.Tables["table 1"];
mcon.Close();
}

Leider ohne erfolg!

Was mich ein wenig stutzig macht ist das folgendes funktioniert:

private void button5_Click(object sender, EventArgs e)
{
MySqlConnection mcon = new MySqlConnection("database=statedv;datasource=localhost;port=3306;username=root;password=");
MySqlDataAdapter mda = new MySqlDataAdapter("SELECT count(*) FROM `table 1` WHERE name like 'raum' and Auftragsnr like '" + textBox2.Text + "%'", mcon);

mcon.Open();
DataSet ds = new DataSet();
mda.Fill(ds, "table 1");
dataGridView1.DataSource = ds.Tables["table 1"];
mcon.Close();
}

aber anderherum:

private void button5_Click(object sender, EventArgs e)
{
MySqlConnection mcon = new MySqlConnection("database=statedv;datasource=localhost;port=3306;username=root;password=");
MySqlDataAdapter mda = new MySqlDataAdapter("SELECT count(*) FROM `table 1` WHERE name like ' and Auftragsnr like '15%'" + textBox1.Text + "%'", mcon);

mcon.Open();
DataSet ds = new DataSet();
mda.Fill(ds, "table 1");
dataGridView1.DataSource = ds.Tables["table 1"];
mcon.Close();
}

leider nicht.

Auch folgendes funktioniert komplett ohne probleme:

private void button5_Click(object sender, EventArgs e)
{
MySqlConnection mcon = new MySqlConnection("database=statedv;datasource=localhost;port=3306;username=root;password=");
MySqlDataAdapter mda = new MySqlDataAdapter("SELECT count(*) FROM `table 1` WHERE name like 'raum' and Auftragsnr like '15%'", mcon);

mcon.Open();
DataSet ds = new DataSet();
mda.Fill(ds, "table 1");
dataGridView1.DataSource = ds.Tables["table 1"];
mcon.Close();
}


Vielleicht hat da jemand einen guten tip für mich parat...wäre sehr dankbar

Gruß!
 
Deine Bedingung bei deinem MySQL Query ist halt falsch. Willst du mit dem
Code:
WHERE name like '
alle Einträge finden, die name = NULL?
 
Nein natürlich nicht.
Was ich gerne hätte wäre das der Inhalt von textbox1 dort eingetragen wird und der Inhalt von Textbox2 in die 2. Bedingung.
 
Warum wundert dich dass das nicht funktioniert.

Where name like '

macht als Telbedingung überhaupt keinen Sinn

Code:
SELECT count(*) FROM `table 1` WHERE name like ' and Auftragsnr like '15%'" + textBox1.Text + "%'"

kann als Statement so nicht funktionieren. Du hast die Abfrage nicht "andersrum" gemacht, sondern durcheinandergewürfelt.

So

Code:
SELECT count(*) FROM `table 1` WHERE name like '"+ textBox1.Text +"%' and Auftragsnr like '15%'"

müsste es funktionieren
 
Zurück
Oben