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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 15.06.2010, 14:32   #1
Clos
Пользователь
 
Аватар для Clos
 
Регистрация: 09.06.2010
Сообщений: 19
По умолчанию Ado, access.

Здравствуйте, есть база данных.
Как считать данные из ячеек в массив?
fieldbyname?
Если так, то почему когда я пытаюсь присвоить элементу массива adotable.FieldByName не работает?

Код:
name2[i]:=tbl2.FieldByName('Пункт_назначения').AsString;
- не работает.
Код:
tbl2.FieldByName('Пункт_назначения').AsString;
- работает.
Clos вне форума Ответить с цитированием
Старый 15.06.2010, 14:36   #2
Grag
А может и не...
Участник клуба
 
Аватар для Grag
 
Регистрация: 27.03.2010
Сообщений: 1,269
По умолчанию

Как у тебя объявлен массив? Тип данных?
Перемешивай дело с бездельем и не сойдешь с ума...
Grag вне форума Ответить с цитированием
Старый 15.06.2010, 16:30   #3
Clos
Пользователь
 
Аватар для Clos
 
Регистрация: 09.06.2010
Сообщений: 19
По умолчанию

Цитата:
Сообщение от Grag Посмотреть сообщение
Как у тебя объявлен массив? Тип данных?
Не динамически.
Код:
name:array[1..30] of string[25];
Есть возможность сделать integer(в таблице изменить данные и подправить.)
Не знаю, как лучше.
Clos вне форума Ответить с цитированием
Старый 15.06.2010, 18:48   #4
RUSt88
Участник клуба
 
Регистрация: 29.12.2009
Сообщений: 1,166
По умолчанию

Цитата:
name2[i]
а объявил как
Цитата:
name:array[1..30] of string[25];
как ж у тебя будет работать-то?
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть]
RUSt88 вне форума Ответить с цитированием
Старый 15.06.2010, 18:54   #5
Clos
Пользователь
 
Аватар для Clos
 
Регистрация: 09.06.2010
Сообщений: 19
По умолчанию

Цитата:
как ж у тебя будет работать-то?
Все нормально, у меня два массива
Цитата:
name:array[1..30] of string[25];
name2:array[1..30] of string[25];
Так как считывать хочу два значения.
Уже не знаю,как и лучше сделать.На delphi написать или sql.

Цитата:
Цитата:
begin
with tbl1 do
begin
Close;
Open;
for i:=1 to tbl1.RecordCount do
begin
name1[i]:=tbl1.FieldByName('ID').AsString;
lbl1.Caption:=name1[i];
Next;
end;
end;
Таким принципов проходит считывание, но выводится на label почему-то только один элемент.
Кто-нибудь знает почему?
Вопрос отменяется, данные нормально записываются в массив, только вывод происходит некорректно.(А он был лишь проверкой)
Дальше возможно еще вопросы возникнут.
Просто нужно к бд, через делфи применить алгоритм Флойда.Проблема была в считывание данных через query, пришлось делать через table(тут получилось).

А вот и новый вопрос.
В базе данных имеется две таблицы(допустим машины, цена)Связаны по ID.Т.е. названию машины соответствует определенный ID, а к нему уже пишется цена.

На форме имеется tdbcombobox, который должен считывать "названия машины".(Это не сложно)
А вот дальше проблема."Название машины", должно сопоставляться с ID и потом уже ID используется в определенной процедуре.

Т.е. нужно считать "Название Машины", а потом как-то объединить его с другой таблицей по ID.
Я думаю нужно через adoquery, sql запросом, но так как в sql не очень.Прошу помощи у вас.

Если что-то непонятно, то я сформулирую более точно.

Последний раз редактировалось Stilet; 18.06.2010 в 08:48.
Clos вне форума Ответить с цитированием
Старый 18.06.2010, 08:51   #6
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Объединяют ключевым слово JOIN
Код:
Select * from [Машины] t1
 join [Цена] t2 on (t1.Id=t2.Id)
 where t1.[Имя тачки]='Порш'
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 18.06.2010, 09:29   #7
Clos
Пользователь
 
Аватар для Clos
 
Регистрация: 09.06.2010
Сообщений: 19
По умолчанию

Спасибо, я знаю, как объединяют и уже так пытался делать.
Не знаю, как правильно поступить.При считывание "Название машины" он обращается к таблице, смотрит ID и его записывает.
Потом получается просто обращение писать..или процедуры распознавания.Щас попробуем.
Clos вне форума Ответить с цитированием
Старый 18.06.2010, 10:10   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
или процедуры распознавания
Что-то ты лишнего понавыдумывал...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 19.06.2010, 18:38   #9
Clos
Пользователь
 
Аватар для Clos
 
Регистрация: 09.06.2010
Сообщений: 19
По умолчанию

Вопрос закрыт.
Во всем разобрался.

Последний раз редактировалось Clos; 20.06.2010 в 00:51.
Clos вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Delphi+Ado+Access kmvteam БД в Delphi 26 09.07.2010 02:08
ADO --->Access Ekzot1k БД в Delphi 12 06.10.2009 09:09
Access и ADO stel2 БД в Delphi 3 05.06.2009 08:11
Access/ADO Anton_S БД в Delphi 2 26.05.2008 08:24
Delphi+ADO+Access Turpa Помощь студентам 12 15.10.2007 23:29