Существует клас Db в нем описан метод Code: public static string[] selects(string zapros, string from, string count, string what_select) { 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 = zapros; OleDbDataReader myDataReader = myCommand.ExecuteReader(); string[] temp = new string[select_count("SELECT COUNT("+count+") FROM "+from)]; int i = 0; while (myDataReader.Read()) { temp[i] = (string)myDataReader[what_select]; i++; } myDataReader.Close(); myConnection.Close(); return temp; } Если в класе Form1 вызвать этот метод, все прекрасно работает !! Обратное происходит при вызове метода во From2 Вызов в Form1 Code: private void Form1_Load(object sender, EventArgs e) { comboBox1.Items.AddRange(Db.selects("SELECT * FROM Працівники", "Працівники", "id", "Логін")); } Вызов у класе From2 Code: private void Form2_Load(object sender, EventArgs e) { WindowState = FormWindowState.Maximized; string[] sl = Db.selects("SELECT * FROM Працівники", "Працівники", "id", "Логін"); dataGridView1.Rows.Add(sl); textBox2.Text = ""+sl; foreach(string value in sl){ textBox2.Text += value; } } Метод ничего не возвращает.. Жду ваших ответов!!
Code: private void Form2_Load(object sender, EventArgs e) { WindowState = FormWindowState.Maximized; string[] sl = Db.selects("SELECT * FROM Працівники", "Працівники", "id", "Логін"); dataGridView1.Rows.Add(sl); textBox2.Text = ""+sl; foreach(string value in sl){ textBox2.Text += value; } } Из БД ты считываешь информацию, но дело в том, как ты её обрабатываешь- Смотри это твой массив: string[] sl В него ты записываешь ВСЮ информацию считываемую из дб, причем делаешь это в одну ячейку. То есть представь себе в массиве sl[0] у тебя находятся все записи таблицы. Ессно так не проканает: Code: dataGridView1.Rows.Add(sl);//Таким образом ты сможешь добавить только одну строку, представь себе у тебя 10 записей идут формы: Вася,Иванов,10,Петя,Сидоров,11,Кристина Бобкова 12 ... //заноситься в датагрид только однастрока и только Вася Иванов 10, остальное обрезается. textBox2.Text = ""+sl;//Тут возвращает String[] foreach(string value in sl){//Тут вообще через for искать нужно, если ты хочешь использовать string[] textBox2.Text += value; } Предлогаю прочитать и шлянуть пример здесь Ред.: только сейчас заметил, что ты пишешь в массив так: Code: string[] sl = Db.selects("SELECT * FROM Працівники", "Працівники", "id", "Логін"); Разве у тебя компилятор не ругается на эту строчку?
Я прошу прощение, я немного тупанул, не знаю куда я смотрелНа первый кусок кода как-то слишком поверхностно глянул, в итоге дальнейшие выводы были неверны Вообще все просто, оставляйте как есть, только измените здесь: Code: for(int i = 0; i<sl.Length; i++) { textBox2.Text +=sl[i]; dataGridView1.Rows.Add(sl[i]); }