Метод возвращает массив с 1-м элементом. Вопрос почему? И как сделать, чтобы в массиве было все, что возвращает запрос? Метод выборки: public static string[] selects() { zapros2 = "SELECT * FROM Лог"; string connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=D:/Kursach/Kursach.mdb;Persist Security Info=False;"; OleDbConnection myConnection = new OleDbConnection(connectionString); myConnection.Open(); OleDbCommand myCommand = myConnection.CreateCommand(); myCommand.CommandText = zapros2; OleDbDataReader myDataReader = myCommand.ExecuteReader(); string[] temp = new string[20]; int i = 0; while (myDataReader.Read()) { temp = (string)myDataReader["Описание"]; i++; } myDataReader.Close(); myConnection.Close(); return temp; } в талице хранится более одной записи, код выбирает только одну(последнюю). А нужно все.
А как вы обращаетесь к temp для проверки содержимого? В любом случае я бы переделал: Code: //Убираем //string[] temp = new string[20]; //int i = 0; //Реализуем через List<> List<string> temp = new List<string>(); while (myDataReader.Read()) { temp.Add((string)myDataReader["Описание"]); }
Прошу принять мои извинения, видимо запарился сильно.. Вот просмотр: foreach (string value in selects()) { textBox2.Text = "" + value; } А нужно было так: foreach (string value in selects()) { textBox2.Text += "" + value; } Для тех кто затупит как я) С каждым шагом цыкла в textBox2 перезаписывалось значение.