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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.04.2019, 23:08   #1
rAMEO
Пользователь
 
Регистрация: 12.04.2014
Сообщений: 45
По умолчанию Тип данных текст в цифру

ГруппаТоваров Тип Integer

Код:
procedure TF_TablTovariIUslugi.TreeView1Click(Sender: TObject);
begin
DM_BazaDannih.AQ_TovariiUslugi.Active:=false;
  DM_BazaDannih.AQ_TovariiUslugi.SQL.Clear;
  DM_BazaDannih.AQ_TovariiUslugi.SQL.Add('select * from ТоварыИУслуги where ГруппаТоваров = '+ QuotedStr(TreeView1.Selected.Text));
  DM_BazaDannih.AQ_TovariiUslugi.Active:=true;
end;

Выдает ошибку тип данных подскажите плиз
и не ругайте сильно я еще чайник в делфи
rAMEO вне форума Ответить с цитированием
Старый 17.04.2019, 10:07   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

в TreeView1.Selected.Text точно целое число?

тогда я бы написал так:
Код:
procedure TF_TablTovariIUslugi.TreeView1Click(Sender: TObject);
begin
DM_BazaDannih.AQ_TovariiUslugi.Active:=false;
  DM_BazaDannih.AQ_TovariiUslugi.SQL.Clear;
  DM_BazaDannih.AQ_TovariiUslugi.SQL.Add('select * from ТоварыИУслуги where ГруппаТоваров = '+ IntToStr(StrToInt(TreeView1.Selected.Text)));
  DM_BazaDannih.AQ_TovariiUslugi.Active:=true;
end;
ну, или без проверки на Integer:
Код:
DM_BazaDannih.AQ_TovariiUslugi.SQL.Add('select * from ТоварыИУслуги where ГруппаТоваров = '+ TreeView1.Selected.Text);
p.s. а ещё можно использовать параметрический запрос
Serge_Bliznykov вне форума Ответить с цитированием
Старый 18.04.2019, 12:10   #3
iskurt
Форумчанин
 
Регистрация: 02.06.2009
Сообщений: 228
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
p.s. а ещё можно использовать параметрический запрос
Поддерживаю, даже рекомендую... Позволит избежать ОГРОМНОЕ количество Гемороя
Код:
DM_BazaDannih.AQ_TovariiUslugi.SQL.Add('select * from ТоварыИУслуги where ГруппаТоваров = :gr_tov'); //+ IntToStr(StrToInt(TreeView1.Selected.Text)));
DM_BazaDannih.AQ_TovariiUslugi.Parameters.paramByName('gr_tov').Value := TreeView1.Selected.Text;
iskurt вне форума Ответить с цитированием
Старый 18.04.2019, 12:37   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Код:
DM_BazaDannih.AQ_TovariiUslugi.Parameters.paramByName('gr_tov').Value := TreeView1.Selected.Text;
DM_BazaDannih.AQ_TovariiUslugi.Parameters.paramByName('gr_tov').Value := StrToInt(TreeView1.Selected.Text);
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 18.04.2019, 18:00   #5
rAMEO
Пользователь
 
Регистрация: 12.04.2014
Сообщений: 45
По умолчанию

First chance exception at $756AC54F. Exception class EConvertError with message '''Строительство'' is not a valid integer value'. Process Предприятие.exe (3896)
rAMEO вне форума Ответить с цитированием
Старый 18.04.2019, 18:01   #6
rAMEO
Пользователь
 
Регистрация: 12.04.2014
Сообщений: 45
По умолчанию

выдает вот эту ошибку
rAMEO вне форума Ответить с цитированием
Старый 18.04.2019, 18:07   #7
rAMEO
Пользователь
 
Регистрация: 12.04.2014
Сообщений: 45
По умолчанию

вот это ошибка
Изображения
Тип файла: jpg Безымянный.jpg (47.0 Кб, 133 просмотров)
rAMEO вне форума Ответить с цитированием
Старый 18.04.2019, 18:11   #8
rAMEO
Пользователь
 
Регистрация: 12.04.2014
Сообщений: 45
По умолчанию

код заполнение дерево при щелчку на ветку надо DBGrid отобразить связанную информацию то есть в дереве группа товаров а гриде товары


Код:
procedure TF_TablTovariIUslugi.FormCreate(Sender: TObject);
var
nnod,nnor: TTreeNode;
field: string;
b,n,b1,n1: integer;
begin
//_______________________________________________________________________________________
b:=0;
n:=0;
b1:=0;
n1:=0;
TreeView1.Items.BeginUpdate;
TreeView1.SortType:=stNone;
TreeView1.Items.Clear;
DM_BazaDannih.AQ_GruppaTovarov.First;
if DM_BazaDannih.AQ_GruppaTovarov.RecordCount>0 then
begin
   while not DM_BazaDannih.AQ_GruppaTovarov.Eof do
      begin
       b:=DM_BazaDannih.AQ_GruppaTovarov['Код']   ;
         n:=DM_BazaDannih.AQ_GruppaTovarov['Название']  ;
      nnod:=TreeView1.Items.Add(nil, DM_BazaDannih.AQ_GruppaTovarov['Название'] );
      field:=DM_BazaDannih.AQ_GruppaTovarov.Fields[0].AsString;
          if DM_BazaDannih.AQ_GruppaTovarovPod.RecordCount>0 then
             begin

             DM_BazaDannih.AQ_GruppaTovarovPod.First;
             while not DM_BazaDannih.AQ_GruppaTovarovPod.Eof do
                begin
                    b1:=DM_BazaDannih.AQ_GruppaTovarovPod['ГруппаТоваров']   ;
         n1:=DM_BazaDannih.AQ_GruppaTovarovPod['Название']  ;
if b=b1 then
begin
   nnor:=TreeView1.Items.AddChild(nnod,DM_BazaDannih.AQ_GruppaTovarovPod['Название'] );
end;
   DM_BazaDannih.AQ_GruppaTovarovPod.Next;
                end;
             end;
DM_BazaDannih.AQ_GruppaTovarov.Next;
end;
end;
DM_BazaDannih.AQ_GruppaTovarov.Filter:='';
DM_BazaDannih.AQ_GruppaTovarovPod.Filter:='';
TreeView1.Items.EndUpdate;
end;
rAMEO вне форума Ответить с цитированием
Старый 18.04.2019, 19:28   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от rAMEO Посмотреть сообщение
ГруппаТоваров Тип Intege
Цитата:
Сообщение от rAMEO Посмотреть сообщение
irst chance exception at $756AC54F. Exception class EConvertError with message '''Строительство'' is not a valid integer value'. Process Предприятие.exe (3896)
Эта ошибка возникает, потому что Вы не ответили на этот вопрос:

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
в TreeView1.Selected.Text точно целое число?
оказывается нет. в TreeView1 у Вас строчка, текст. (НАЗВАНИЕ ГРУППЫ - в данном пример там текст "Строительство")
а в запросе нужно число - код группы
"строительство" нельзя преобразовать в число.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 18.04.2019, 19:58   #10
rAMEO
Пользователь
 
Регистрация: 12.04.2014
Сообщений: 45
По умолчанию ошибка

Код:
DM_BazaDannih.AQ_TovariiUslugi.Filter := 'GruppaTovarov LIKE '+TreeView1.Selected.Text+'%';
DM_BazaDannih.AQ_TovariiUslugi.Filtered :=true;
Изображения
Тип файла: jpg Безымянный.jpg (37.5 Кб, 93 просмотров)
rAMEO вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Дан символ С, изображающий цифру или букву (латинскую или русскую). Если С изображает цифру, то вывести строку "digit", если латин marinadanilova Помощь студентам 3 28.10.2014 22:44
Перенести текст в Базу данных demiancz БД в Delphi 9 08.01.2011 02:26
Замена кода на текст при добавлении данных L777SU БД в Delphi 1 25.05.2010 16:00
Парсер данных на lua в текст Claptrap Помощь студентам 0 01.04.2010 02:52
Найти первую цифру в данных ячейки.. kra183 Microsoft Office Excel 11 09.05.2008 01:35