Представление таблицы данных не заполняется при использовании параметров mysql - PullRequest
0 голосов
/ 09 октября 2018

Я думаю, что проблема заключается в адаптере.Тем не менее, я все еще очень зеленый и был бы признателен за любую помощь.Я искал этот форум и мне не повезло ни с одним из найденных мной решений (вероятно, pebkac).Приложение простое, используйте ввод текстового поля в параметризованном операторе select для заполнения сетки данных.Запрос будет выполнен, но сетка останется пустой.VS2017, MySql8.0

private void button2_Click(object sender, EventArgs e)
    {
        string myConnectionstring = null;
        string mySelect = "SELECT * FROM part_data WHERE 'SERIAL' = @test; ";
        string tb7 = textBox7.Text;
        //Set Connection String And Create Connection
        myConnectionstring = "server=localhost;user= admin; database= trace;port=3306;password= admin;Allow User Variables=True";

        DataSet ds = new DataSet();

        using (MySqlConnection myConnection = new MySqlConnection(myConnectionstring))
        {   //Create Command Object
            //MySqlCommand myCommand = new MySqlCommand(mySelect, myConnection);



            try
            {
                myConnection.Open();
               // myCommand.Prepare();
                //myCommand.Parameters.AddWithValue("@test",tb7);
                MySqlDataAdapter adapter = new MySqlDataAdapter(mySelect, myConnectionstring);
                adapter.SelectCommand.Parameters.AddWithValue("@test",tb7);
                //debug to see final select statement
                richTextBox1.Text = mySelect;


                adapter.Fill(ds);
                dataGridView1.DataSource = ds.Tables[0];
            }
            catch (Exception ex)
            { 
                MessageBox.Show("Query Failed" + ex);
            }


        }

Ответы [ 2 ]

0 голосов
/ 10 октября 2018

Попробуйте выполнить запрос без параметров, нет необходимости делать это так, затем попробуйте DataSourceView вашего набора данных.

0 голосов
/ 10 октября 2018

На первый взгляд кажется, что ваш запрос может быть плохим.Попробуйте использовать обратные пометки вокруг имени столбца.

SELECT * FROM part_data WHERE `SERIAL` = @test; 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...