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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.04.2012, 11:08   #1
Ромер
Новичок
Джуниор
 
Регистрация: 24.04.2012
Сообщений: 2
По умолчанию Как вывести число из базы в эдит?

Нужна помощь. Делаю диплом, автомагазина. И тут столкнулся с одной бедой. Вывод запчастей смог сделать по маркам авто, их выводит в комбобокс. А вот как сделать, что бы цену запчасти, выводило в эдит? Вроде как то можно сделать всё через иф, элсо, но тогда очень много надо будет запросов создавать более 400, тогда обрабатываться долго будет, как это можно проще намного сделать? Помогите...
Ромер вне форума Ответить с цитированием
Старый 26.04.2012, 11:31   #2
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию

покажите ваш код! что вы сделали? Ваши варианты!
Dozent вне форума Ответить с цитированием
Старый 26.04.2012, 11:47   #3
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

Цитата:
их выводит в комбобокс
а почему не в Грид? сразу с тех.характеристиками и ценой.

но можно и при смене объекта в комбобокс выводить цену.
этот запрос, если его делать правильно (выборку по ключевому полю, которое хранить либо в комбобоксе, либо в доп.структуре), то он будет выполнятся сотые доли секунды. прорисовка контролов на экране больше времени займёт, чем один такой запрос.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 26.04.2012, 12:25   #4
Ромер
Новичок
Джуниор
 
Регистрация: 24.04.2012
Сообщений: 2
По умолчанию

Вот так вывожу в комбобокс список деталей, одну из которых надо будет выбрать

begin
if ComboBox2.Text = 'замена амортизаторов' then
begin
ADOQuery1.Close;
ADOQuery1.SQL.Text := ('select Деталь from буфер where Ключ= "ха"');
ADOQuery1.Open;
ComboBox3.Items.Clear;
While not ADOQuery1.Eof do
begin
ComboBox3.Items.Add(ADOQuery1.Field s[0].AsString);
ADOQuery1.Next;
end; end;

В эдит необходимо вывести цену, что бы потом можно было ее умножить на количество необходимых деталей и вывести общую сумму.

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
выборку по ключевому полю, которое хранить либо в комбобоксе, либо в доп.структуре
Не представляю как это сделать даже

Цитата:
Сообщение от Dozent Посмотреть сообщение
покажите ваш код! что вы сделали? Ваши варианты!
Надо именно так, что бы в комбе была запасть, а цена в эдите

Последний раз редактировалось artemavd; 26.04.2012 в 12:50.
Ромер вне форума Ответить с цитированием
Старый 26.04.2012, 12:33   #5
temaps
Форумчанин
 
Регистрация: 15.05.2011
Сообщений: 160
По умолчанию

Используйте не edit, а dbedit.
Покажите код программы.
temaps вне форума Ответить с цитированием
Старый 26.04.2012, 13:07   #6
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию

Код:
begin
if ComboBox2.Text = 'замена амортизаторов' then
begin
ADOQuery1.Close;
ADOQuery1.SQL.Text := ('select Деталь, Цена from буфер where Ключ= "ха"');
ADOQuery1.Open;
ComboBox3.Items.Clear;
ADOQuery1.First;  // будит не лишним
While not ADOQuery1.Eof do
begin
ComboBox3.Items.Add(ADOQuery1.FieldName['Деталь'].AsString);
Edit1.Text:=ADOQuery1.Fieldname['имя_поля'].values;
ADOQuery1.Next;
end; end;
но токо учтите если у вас будит возвращено запросом несоклько записей то после выполнения цикла в едите будит значение равное последнией записи
перед выполенение запроса делайте очистку текста запроса...
и на будующие НИКОГДА НЕ ДЕЛАЙТЕ НАЗВАНИЕ ПОЛЕЙ КИРИЛИЦЕЙ

Последний раз редактировалось Dozent; 26.04.2012 в 13:10.
Dozent вне форума Ответить с цитированием
Старый 26.04.2012, 13:12   #7
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Цитата:
и на будующие НИКОГДА НЕ ДЕЛАЙТЕ НАЗВАНИЕ ПОЛЕЙ КИРИЛИЦЕЙ
Это почему? В японии по японски называют, в испании по испански, в германии по германски, ... а чего по русски нельзя?
=master= вне форума Ответить с цитированием
Старый 26.04.2012, 13:22   #8
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Цитата:
перед выполенение запроса делайте очистку текста запроса...
всё там делается, просто ненадо пользоватся SQL.Add, и сурогатный клеар вызывать не надо будет, это на будущее.
=master= вне форума Ответить с цитированием
Старый 26.04.2012, 13:23   #9
Dozent
Форумчанин
 
Регистрация: 21.05.2008
Сообщений: 495
По умолчанию

ну мы не знаем как в тех странах называют поля, а по мне так англ названия полей и это хороший тон...
Dozent вне форума Ответить с цитированием
Старый 26.04.2012, 13:30   #10
=master=
Форумчанин
 
Регистрация: 26.03.2012
Сообщений: 665
По умолчанию

Ну что вы такое несете, я вот работал в германии и там не считают называть поля по германски плохим тоном, и самому приходилось называл имменно по германски, со всякими умляутами.
=master= вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как вывести 32-х разрядное число в Turbo C? Федор777 Помощь студентам 0 21.04.2010 18:16
как вывести число в двоичной форме? Dimarik Общие вопросы C/C++ 7 12.04.2010 17:52
Как грамотно вывести из базы превьюшки? Svetix PHP 2 27.03.2009 14:53
Вывести число, предшествующее первому отрицательному и число, следующее за последним отрицательным Rid Паскаль, Turbo Pascal, PascalABC.NET 4 22.12.2008 16:50
как вывести число qwerty34 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 25.08.2008 14:14