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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 20.03.2012, 22:10   #1
chircov090993
Пользователь
 
Регистрация: 12.06.2010
Сообщений: 44
По умолчанию проблема с запросом

Цитата:
var s, id:string;

begin
s:=treeview1.Selected.Text;
//DataModule2.books.close;
DataModule2.Q1.active:=false;
DataModule2.Q1.SQL.Clear;
DataModule2.Q1.SQL.Add('select * from T_podkateg_1 ') ;
DataModule2.Q1.SQL.Add('where podkateg_1_name ='+s) ;

DataModule2.Q1.active:=true;
id:=DataModule2.Q1.FieldByName('id_ podkateg_1').AsString;
showmessage(id);
DataModule2.books.SQL.clear;
DataModule2.books.SQL.Add('select * from T_kniga where id_podkateg1 ='+id);
//DataModule2.books.Open;
DataModule2.books.active:=true;
end;
данные находятся в treeview1. Нужно сравнить имя из базы таблицы T_podkateg_1 с именем в treeview1 , вывести ID в переменную и сравнить в базе ID. Ошибка "Параметр "значение из триивиев" не имеет значения по умолчанию на строке
Цитата:
id:=DataModule2.Q1.FieldByName('id_ podkateg_1').AsString;
Помогите найти ошибку
chircov090993 вне форума Ответить с цитированием
Старый 20.03.2012, 22:57   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Во-первых:
Код:
if treeview1.Selected then 
 s:=treeview1.Selected.Text;
...
И т.д.
ибо могут бытьслучаи когда ты ничего не выбрал.

Во-вторыхodkateg_1_name какого типа? Если число то еще полбеды. Если строка то нужно ее брать в ковычки:
Код:
DataModule2.Q1.SQL.Add('where podkateg_1_name ='+QuoyedStr(s)) ;
Ну а если дата то там другой бубен нужен...
В-третьих:А че ты так уверен что запрос тебе что-то вернет?
Код:
DataModule2.Q1.active:=true;
if  DataModule2.Q1.eof then ShowMessage('Пусто');exit;end;
id:=DataModule2.Q1.FieldByName('id_ podkateg_1').AsString;
...
Ну короче тут нужно код в порядок приводить.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.03.2012, 19:43   #3
chircov090993
Пользователь
 
Регистрация: 12.06.2010
Сообщений: 44
По умолчанию

спасибо, помогло!
chircov090993 вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Проблема с запросом! Chemik Microsoft Office Access 1 06.01.2012 15:11
проблема с запросом virtuhay266 SQL, базы данных 1 06.06.2011 21:26
Проблема с запросом StreetNBA Microsoft Office Access 3 01.06.2011 14:25
Проблема с запросом! LizaVeta Общие вопросы Delphi 3 09.05.2010 07:07
Проблема c запросом! SatS SQL, базы данных 6 24.01.2009 22:52