Выполняю запрос к базе данных в 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 обращение, тут то и вызывается исключение

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;
}
}
}
Помогите уже час с этим вожусь. не знаю что делать(