Форум: "Базы";
Текущий архив: 2004.02.02;
Скачать: [xml.tar.bz2];
Внизчто то не получается c sql запросом Найти похожие ветки
← →
user (2004-01-05 17:17) [0]код который выполнятеся по нажатию на клавишу
adoquery.active:=false;
adoquery.sql.clear;
if checkbox1.checked then begin st:=st+"and F5=:FF1.text;
adoquery.parameters.parambyname("FF1").value:=Maskedit1.text;
end;
if checkbox2.checked then begin st:=st+"and F6=:FF6.text;
adoquery.parameters.parambyname("FF2").value:=Maskedit2.text;
end;
adoquery.sql.add(select * from [ИТР$] where st);
у меня ругательство по поводу динамических переменных
как мне быть
приблизительно следующее у меня таблица в Excel поэтому [ИТР$]
но это неважно мне необходимо сформировать динамический запрос
но проблема в том что иногда нет необходимости производить выборку по некоторым полям поэтому я ввел checkbox-ы с Maskedit-ами , если не нажат checkbox то часть кода не нужно вставлять в запрос(значит по соответствующему полю выборка не нужна) допустим первый checkbox1 нажат тогда необходимо включить строчки F5=:FF1.text; где F5 у нас будет это поле цен по которому будет происходить выборка данных. а FF1 - динамисческая переменная
как мне быть так как он у меня ругается по поводу переменных FF1, FF2. - хотя это правильно так как я ввожу переменную а sql запрос еще не производился так как мне решить свою проблему
← →
Johnmen (2004-01-05 17:21) [1]Сначала динамически запрос, а уж потом прописываем параметры :)
И ещё. Что такое .text в параметрах ????
← →
JibSkeart (2004-01-05 17:21) [2]adoquery.sql.add(select * from [ИТР$] where st); ????
да и попробуй в
ShowMessage(Adoquery.SQl.Text) выводить
← →
Desdechado (2004-01-05 17:22) [3]странная конструкция
st:=st+"and F5=:FF1.text;
где закрывающий апостроф? что за text?
если у тебя maskedit известный тип принимает, то и пиши просто
st:=st+"and F5="+Maskedit1.text; // для числа, например
← →
JibSkeart (2004-01-05 17:23) [4]дейсвително ,
сперва запрос потом параметры
допустим так
select * from my_table where my_field > :NUM
← →
Desdechado (2004-01-05 17:24) [5]adoquery.sql.add("select * from [ИТР$] where " + st);
← →
Роберт (2004-01-06 11:40) [6]st:=st+"and F5=:FF1.text;
просто опечатка
st:=st+"and F5=:FF1.text";
вопрос заключается в том чтобы допустим у нас не будет
в sql запросе динамической переменной но мы при этом объявляем динамическубю переменную то вознимает ошибка
adoquery.parameters.parambyname("FF2").value:=Maskedit2.text
использую adoquery, где я не знаю как объявлять типы определенного параметра.
а в query можно легко назначать опеределенный тип
через asstrings
← →
Desdechado (2004-01-06 14:35) [7]В запросе нет динамических переменных. Есть параметры.
Но они появляются автоматически ПОСЛЕ написания текста запроса в SQL.Text (если они в запросе есть). Вот тогда и присваивай значения параметрам.
И лепить в текст запроса имена дельфийских переменных по меньшей мере странно.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2004.02.02;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.01 c