|
Вопрос # 839/ вопрос открыт / |
|
Здравствуйте, эксперты!
Пара вопросов связанных с компонентами, относящихся к БД:
1)Какое свойство компонента TTable обеспечивает установку на первую запись?
2)Какое свойство определяет конец таблицы?
И третий вопрос, он побольше:на форме присутствуют следующие компоненты: DBGrid1, DBNavigator1, DbComboBox1, Table1, DataSource1 и Button1, все они связаны между собой(кстати, программа создана для просмотра уже готовой базы данных, Table1.TableName - country.db; Table1.DatabaseName - DBDEMOS; DBComboBox1.DataField - Name{название страны}), при таком раскладе: щёлкаем по любому полю в DBGrid\'e1 и в DBComboBox\'е1 отображается название страны, например: Argentina, Cuba;
Нужно создать событие от нажатия кнопки Button1, чтобы в DBComboBox1 поместить отсортированный по алфавиту список стран, которые имеются в данный момент в БД.
 |
Вопрос задал: Полушин Сергей Анатольевич (статус: Посетитель)
Вопрос отправлен: 8 августа 2007, 16:58
Состояние вопроса: открыт, ответов: 1.
|
Ответ #1. Отвечает эксперт: Градов Ю.М.
Здравствуйте, Полушин Сергей Анатольевич!
По первым двум вопросам:
Table1.First; - первая запись
Table1.Last; - последняя запись
 |
Ответ отправил: Градов Ю.М. (статус: 8-ой класс)
Время отправки: 8 августа 2007, 21:48
|
Мини-форум вопроса
Всего сообщений: 16; последнее сообщение — 8 августа 2007, 17:48; участников в обсуждении: 2.
|
Вадим К (статус: Академик), 8 августа 2007, 17:08 [#1]:
по первому вопросу
Table1.first
Узнать конец таблицы
Table1.eof
третий вопрос. Я бы поставил Query и написал запрос вида select distinct CountryField from country.db order by CountryField
distinct - заставит выбирать неповторяющиеся записи.
order by CountryField - отсортировать.
CountryField - это имя поля, для которого производиться данная операция
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Полушин Сергей Анатольевич (статус: Посетитель), 8 августа 2007, 17:08 [#2]:
помоему нужно из DBGrid1 доставать простые строки простым цыклом и добавлять эти строка в DBComboBox1, а как их туда добавить-то
|
|
Вадим К (статус: Академик), 8 августа 2007, 17:14 [#4]:
нельзя так. в DBComboBox1 просто так записи не добавляются
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Вадим К (статус: Академик), 8 августа 2007, 17:16 [#5]:
к тому же, вам нужно будет отфильтровать записи, что бы небыло одинаковых, и отсортировать. а в моём случае, даже кода не надо
Не помню я эту таблицу, но названия стран могут и не повторятся
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Полушин Сергей Анатольевич (статус: Посетитель), 8 августа 2007, 17:17 [#6]:
вот вот условие такое, именно DBComboBox, стоял бы DBLookupComboBox1, я б ща тут не сидел
|
|
Вадим К (статус: Академик), 8 августа 2007, 17:21 [#9]:
используйте TQuery и не партесь. Или нужно в подробностях расписывать как это сделать?
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Вадим К (статус: Академик), 8 августа 2007, 17:22 [#10]:
Цитата:
Query я не в праве ставить
Религия? автомат у спины?
Тут уже я не помогу.
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Полушин Сергей Анатольевич (статус: Посетитель), 8 августа 2007, 17:25 [#11]:
Query я знаю и знаю как им пользоваться, просто условие задачи такое
P.S. я в заочной школе учусь, мы с вами уже что-то обсуждали, пару каких-то глупых вопросов
|
|
Полушин Сергей Анатольевич (статус: Посетитель), 8 августа 2007, 17:37 [#12]:
У DBComboBox есть свойство Sorted(Boolean), оно типа по алфавиту все сведения сортирует, а как сделать-то чтобы там целый список в развёртке был
|
|
Полушин Сергей Анатольевич (статус: Посетитель), 8 августа 2007, 17:39 [#14]:
В задании присутствует такой вопрос:
Как вы можете выбрать из таблицы любое строковое поле?
|
|
Вадим К (статус: Академик), 8 августа 2007, 17:46 [#15]:
Порылся у себя в исходниках
если просто хочеться иметь список, то можно.
где то так
procedure TForm1.Button1Click(Sender: TObject);
var sl:TStringList;
begin
sl:=TStringList.Create;
sl.Sorted:=true;
sl.Duplicates:=dupIgnore;
Table1.First;
while not Table1.Eof do
begin
sl.Add(Table1.Fields[1].AsString);
Table1.Next;
end;
DBComboBox1.Items.Assign(sl);
sl.Free;
end;
Галочка "подтверждения прочтения" - вселенское зло.
|
|
Вадим К (статус: Академик), 8 августа 2007, 17:48 [#16]:
Цитата:
Как вы можете выбрать из таблицы любое строковое поле?
Два варианта.
1) вначале перейти на нужную запись, а потом выбрать нужное поле
2) сиквел запросом выбрать нужную строку, а потом оттудова вытягивать поле
Галочка "подтверждения прочтения" - вселенское зло.
|
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|