Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.02.2013, 16:03   #1
ULR
Пользователь
 
Аватар для ULR
 
Регистрация: 26.09.2012
Сообщений: 30
По умолчанию Как считать строку таблицы SQL в массив

Здравствуйте! Помогите пожалуйста, если вам не сложно Такой вопрос: как данные из таблицы в SQL занести в массив? Как организовать цикл? Такой вопрос часто задают, но конкретного ответа я не нашла. Заранее спасибо)
ULR вне форума Ответить с цитированием
Старый 05.02.2013, 16:40   #2
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 18,922
По умолчанию

Примерно так, с вариациями. Из ADOTable ни чем не отличается
Код:
procedure TForm2.Button8Click(Sender: TObject);
var i,j: Integer;
    xArray: array of array of Variant;
begin
  ADOQuery1.Last;
  SetLength(xArray,ADOQuery1.RecordCount,ADOQuery1.Fields.Count);
  ADOQuery1.First;
  i:=0;
  while not ADOQuery1.Eof do begin
    for j:=0 to ADOQuery1.Fields.Count-1 do xArray[i,j]:=ADOQuery1.Fields.Fields[j].Value;
    Inc(i);
    ADOQuery1.Next;
  end;
end;
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию

Последний раз редактировалось Аватар; 05.02.2013 в 16:42.
Аватар вне форума Ответить с цитированием
Старый 05.02.2013, 17:13   #3
ULR
Пользователь
 
Аватар для ULR
 
Регистрация: 26.09.2012
Сообщений: 30
По умолчанию

Спасибо, что ответили! Извините, если вопрос глупый, но где в этом коде показать из какой таблицы брать данные?
ULR вне форума Ответить с цитированием
Старый 05.02.2013, 17:26   #4
Aleksandr_59
Пользователь
 
Регистрация: 14.10.2011
Сообщений: 77
По умолчанию

ADOQuery1.Connection.ConnectionStri ng
Содержимое можно посмотреть, поместив на форму одноимённый компонент и подключив его.
Aleksandr_59 вне форума Ответить с цитированием
Старый 05.02.2013, 17:46   #5
ULR
Пользователь
 
Аватар для ULR
 
Регистрация: 26.09.2012
Сообщений: 30
По умолчанию

Еще раз извините!! но ADOQuery1.Connection.ConnectionStri ng подключено к БД а не к таблице или я что-то не понимаю ( как посмотреть результат считывания??
ULR вне форума Ответить с цитированием
Старый 05.02.2013, 18:40   #6
Sciv
Старожил
 
Аватар для Sciv
 
Регистрация: 16.05.2012
Сообщений: 3,211
По умолчанию

Цитата:
Сообщение от ULR Посмотреть сообщение
Спасибо, что ответили! Извините, если вопрос глупый, но где в этом коде показать из какой таблицы брать данные?
Конкретно в приведенном коде - нигде. Нужно писать SQL-запрос, в котором указывать, какие данные из какой таблицы брать, и помещать его в ADOquery1.SQL.Text;

Примерно так (запрос выводит данные по всем полям таблицы tablename1):

Код:
ADOquery1.Close;
ADOQuery1.SQL.Text:='SELECT * FROM tablename1';
ADOQuery1.Open;
Начал решать проблему с помощью регулярных выражений. Теперь решаю две проблемы...

Последний раз редактировалось Sciv; 05.02.2013 в 19:01.
Sciv вне форума Ответить с цитированием
Старый 05.02.2013, 18:53   #7
ULR
Пользователь
 
Аватар для ULR
 
Регистрация: 26.09.2012
Сообщений: 30
По умолчанию

Спасибо большое! Очень помогли!!!
ULR вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как считать данные из EXCELевской таблицы prw07 Общие вопросы Delphi 8 06.08.2010 10:50
Как считать последнюю строку ? Katmai Общие вопросы Delphi 13 27.07.2010 20:49
Как записать (считать) динамическую строку в (из) файл(а)? C++ Сергей089 Помощь студентам 2 10.02.2010 22:00
Как из мемо считать i-ую строку для парсинга. TwiX Общие вопросы C/C++ 0 17.12.2009 21:49
Как считать каждую строку с memo? Paul11j Помощь студентам 4 19.05.2009 19:30