Задать вопрос
@Sushkov
">alert("yohoho")

Почему не выполняется запрос?

Выполняю запрос к базе данных в 1 раз все в порядке , а когда выполняю запрос 2 раз вылазит ошибка.
1 обращение:
private void Form2_Load(object sender, EventArgs e)
        {
            BdConnect bd = new BdConnect();
            DataTable dt = bd.BDQuery("SELECT login FROM users");
            foreach (DataRow dr in dt.Rows)
            {
                LoginBox.Items.Add(dr.ItemArray[0]);
            }            
        }

2 обращение, тут то и вызывается исключение290eebf46a0f40f7a960d8462b30eae6.PNG
private void button1_Click(object sender, EventArgs e)
        {
            BdConnect bd = new BdConnect();
            bd.Auth(LoginBox.Text, textBox1.Text);
        }


Вот сам класс BdConnect:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using MySql.Data.MySqlClient;
using System.Data;
using System.Windows.Forms;

namespace Bread_Factory
{
    class BdConnect
    {
        string user_permissions;
        int user_id;
        public int getUsers(){
                
            return 0;
        }
        public bool Auth(string user_name, string password)
        {
            DataTable gg = BDQuery(@"SELECT user_id, permissions FROM users WHERE login = " + user_name + " AND password = " + password);
            return false;
        }
        private MySqlConnectionStringBuilder DBConnect()
        {
            MySqlConnectionStringBuilder mysqlCSB;
            mysqlCSB = new MySqlConnectionStringBuilder();

            mysqlCSB.Server = "127.0.0.1";
            mysqlCSB.Database = "bread_factory";
            mysqlCSB.UserID = "root";
            mysqlCSB.Password = "";
            return mysqlCSB;
        }
        public DataTable BDQuery(string qwery)
        {
            DataTable dt = new DataTable();
            using (MySqlConnection con = new MySqlConnection())
            {
                con.ConnectionString = DBConnect().ConnectionString;

                MySqlCommand com = new MySqlCommand(qwery, con);

                try
                {
                    con.Open();
                    using (MySqlDataReader dr = com.ExecuteReader())
                    {
                        if (dr.HasRows)
                        {
                            dt.Load(dr);
                        }
                    }
                }

                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
                con.Close();
                GC.Collect();
                GC.WaitForPendingFinalizers();
            }
            return dt;
        }
    }
}

Помогите уже час с этим вожусь. не знаю что делать(
  • Вопрос задан
  • 206 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы