Я запускаю эту функцию в форме загрузки, чтобы отобразить информацию из моей базы данных в dataGridView в C#. Проблема заключается в том, что перед тем, как она пытается получить доступ к объявлению, появляется форма. Вот как он работает в отладчике. Я запускаю функцию ниже.Подключение к MySql с использованием C#
public void loadData()
{
var list = mysql.Select();
try
{
//start from first row
for (int i = 0; i < dataGridView1.RowCount; i++)
{
//insert IDs
dataGridView1[0, i].Value = list[0][i];
//insert Names
dataGridView1[1, i].Value = list[1][i];
for (int j = 0; j < dataGridView1.ColumnCount; j++)
{
if (list[3][j] != null)
{
dataGridView1[j + 2, i].Value = list[3][j];
}
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
И затем он вызывает Выберите функцию в классе тузд и останавливаться на MySqlDataReader и всплывал форму окна. Может ли кто-нибудь сказать мне, что творилось?
Вот Mysql.Select()
public List <string> [] Select()
{
string query = "SELECT id,name,weekday,description FROM employee e INNER JOIN schedule s ON e.id=s.id";
//Create a list to store the result
List<string>[] list = new List<string>[4];
list[0] = new List<string>();
list[1] = new List<string>();
list[2] = new List<string>();
list[3] = new List<string>();
//Open connection
if (this.OpenConnection() == true)
{
//Create Command
MySqlCommand cmd = new MySqlCommand(query, connection);
//Create a data reader and Execute the command
MySqlDataReader dataReader = cmd.ExecuteReader();
//Read the data and store them in the list
while (dataReader.Read())
{
list[0].Add(dataReader["id"] + "");
list[1].Add(dataReader["name"] + "");
list[2].Add(dataReader["weekday"] + "");
list[3].Add(dataReader["description"] + "");
}
//close Data Reader
dataReader.Close();
//close Connection
this.CloseConnection();
//return list to be displayed
return list;
}
else
{
return list;
}
}
Заменить бессмысленное название с конкретной темой вашего вопроса, пожалуйста. – abatishchev
@AaronLS он просто удалил этот код - его в 'form_load' –
что вы имеете в виду, остановившись? Он попал в точку останова, которую вы там установили? Есть ли ошибка? Вы пытались поставить точку останова на линии с (dataReader.Read())? – Maciej