Форум программистов, компьютерный форум, киберфорум
Delphi: Базы данных
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 5.00/11: Рейтинг темы: голосов - 11, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 31.03.2013
Сообщений: 102

Подскажите пожалуйста почему ругается на строчку с параметрами?якобы параметр не найден

14.05.2013, 17:53. Показов 2486. Ответов 36
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
var
  Form5: TForm5;
  nd:TdateTime;
  kd:TdateTime;
 
 
 
implementation
 
{$R *.dfm}
 
procedure TForm5.Button1Click(Sender: TObject);
begin
nd := DateTimePicker1.DateTime;
kd := DateTimePicker2.DateTime;
try
 
  ADOQuery1 .Close; // закрываем запрос
  ADOQuery1.SQL.Clear; // очищаем все что было до этого
  ADOQuery1.SQL.Add('INSERT INTO PTTZSVIAZ(id_TERMINAL)' +
    '(SELECT ID_TERMINAL FROM TPTSVIAZ WHERE datepri BETWEEN :nd AND :kd ');
  ADOQuery1.Parameters.ParamByName('nd').Value := DateTimeToStr(DateTimePicker1.DateTime); // добавляем параметр, в этом случае это имя, строка
  ADOQuery1.Parameters.ParamByName('kd').Value := DateTimeToStr(DateTimePicker2.DateTime);
  ADOQuery1.ExecSQL;
  DBgrid1.Refresh;
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
14.05.2013, 17:53
Ответы с готовыми решениями:

Почему делфи ругается на Allow подскажите пожалуйста
procedure TForm_Users.FormClose(Sender: TObject; var Action: TCloseAction); begin Form_Users.Destroy; end; procedure...

Небольшая ошибка. Смотреть 184 строчку.ругается на }. Пишет unexpected. Почему?
<div id="adm_main"> <? if ($this->part === 'superadmin') { include_once('../admin/classes/db.class.php'); global $db; ...

Подскажите почему ругается на s1
Ругается на s1 не могу понять как это исправить, может ее нужно объявить как переменную, вот только какого типа? void __fastcall...

36
0 / 0 / 0
Регистрация: 31.03.2013
Сообщений: 102
20.05.2013, 16:13  [ТС]
Студворк — интернет-сервис помощи студентам
ну вот я правильно же присвоил,может я чего не соображаю
0
 Аватар для Waddonator
969 / 644 / 97
Регистрация: 01.11.2012
Сообщений: 1,447
20.05.2013, 16:41
beck, в какой СУБД у вас база?
0
0 / 0 / 0
Регистрация: 31.03.2013
Сообщений: 102
20.05.2013, 16:53  [ТС]
Firebird
0
 Аватар для Waddonator
969 / 644 / 97
Регистрация: 01.11.2012
Сообщений: 1,447
20.05.2013, 16:58
Цитата Сообщение от Waddonator Посмотреть сообщение
выполните просто выборку и увидите, что вам запрос возвращает (поставьте вместо переменных какие-либо даты):
SQL
1
SELECT ID_TERMINAL FROM TPTSVIAZ WHERE datepri BETWEEN :nd AND :kd
Что получили в результате?
Цитата Сообщение от Waddonator Посмотреть сообщение
И еще вопрос: как у вас храниться дата в базе? Как положено DateTime или как текст?
0
0 / 0 / 0
Регистрация: 31.03.2013
Сообщений: 102
20.05.2013, 17:07  [ТС]
тип timestamp
до этого таким макаром делал все норм было,с переменными,выбирает записи в диапазоне дат и вставляет их в другую таблицу
0
 Аватар для Waddonator
969 / 644 / 97
Регистрация: 01.11.2012
Сообщений: 1,447
20.05.2013, 17:43
Цитата Сообщение от beck Посмотреть сообщение
тип timestamp
не сталкивался с таким типом. Попробуйте заменить DateOf(DateTimePicker1.DateTime) на одни из вариантов:
Delphi
1
2
3
4
5
DateTimePicker1.DateTime;
//или
DateTimeToStr(DateTimePicker1.DateTime);
//или
''''+DateTimeToStr(DateTimePicker1.DateTime)+'''';
0
0 / 0 / 0
Регистрация: 31.03.2013
Сообщений: 102
21.05.2013, 10:21  [ТС]
а есть вариант избежать использование переменных?ибо я пробую чистый запрос с датами заданными изначально и все получается нормально
0
 Аватар для Waddonator
969 / 644 / 97
Регистрация: 01.11.2012
Сообщений: 1,447
21.05.2013, 10:30
Цитата Сообщение от beck Посмотреть сообщение
а есть вариант избежать использование переменных?
Можете просто формировать текст sql-запроса типа:
Delphi
1
2
ADOQuery1.SQL.Add('INSERT INTO PTTZSVIAZ(id_TERMINAL)' +
    '(SELECT ID_TERMINAL FROM TPTSVIAZ WHERE datepri BETWEEN '+QuotedStr(DateTimeToStr(DateTimePicker1.DateTime))+' AND '+QuotedStr(DateTimeToStr(DateTimePicker2.DateTime));
0
0 / 0 / 0
Регистрация: 31.03.2013
Сообщений: 102
21.05.2013, 10:40  [ТС]
Глупый вопрос)а кавычки во второй строке для переноса строк?или это такой синтаксис?)
0
 Аватар для Waddonator
969 / 644 / 97
Регистрация: 01.11.2012
Сообщений: 1,447
21.05.2013, 10:44
Цитата Сообщение от beck Посмотреть сообщение
а кавычки во второй строке для переноса строк?или это такой синтаксис?
пишу в одну строку, а сами как хотите, так и разбиваете на строки:
Delphi
1
ADOQuery1.SQL.Add('INSERT INTO PTTZSVIAZ(id_TERMINAL) SELECT ID_TERMINAL FROM TPTSVIAZ WHERE datepri BETWEEN '+QuotedStr(DateTimeToStr(DateTimePicker1.DateTime))+' AND '+QuotedStr(DateTimeToStr(DateTimePicker2.DateTime));
0
0 / 0 / 0
Регистрация: 31.03.2013
Сообщений: 102
21.05.2013, 11:46  [ТС]
Delphi
1
2
3
4
ADOQuery1.SQL.Add('INSERT INTO PTTZSVIAZ(id_TERMINAL)' +
    '(SELECT ID_TERMINAL FROM TPTSVIAZ WHERE datepri BETWEEN)' +
    '('+QuotedStr(DateTimeToStr(DateTimePicker1.DateTime)))' +
    '('+' AND '+QuotedStr(DateTimeToStr(DateTimePicker2.DateTime));
ну я вот так делаю,он ругается на трерьей строке
0
 Аватар для Waddonator
969 / 644 / 97
Регистрация: 01.11.2012
Сообщений: 1,447
21.05.2013, 11:51
Цитата Сообщение от beck Посмотреть сообщение
ну я вот так делаю,он ругается на третьей строке
а вы так не делайте. Делайте правильно, а то скобок наставили куда нужно и куда не нужно. Сравните с предыдущим постом и уберите все лишнее.
0
0 / 0 / 0
Регистрация: 31.03.2013
Сообщений: 102
21.05.2013, 12:23  [ТС]
ну теперь пишет что ошибка line 1 column 35,это firebird пишет
0
 Аватар для Waddonator
969 / 644 / 97
Регистрация: 01.11.2012
Сообщений: 1,447
21.05.2013, 12:29
Delphi
1
2
3
4
ADOQuery1.SQL.Add('INSERT INTO PTTZSVIAZ(id_TERMINAL)' +
    ' SELECT ID_TERMINAL FROM TPTSVIAZ WHERE datepri BETWEEN ' +
    +QuotedStr(DateTimeToStr(DateTimePicker1.DateTime)) +
    +' AND '+QuotedStr(DateTimeToStr(DateTimePicker2.DateTime)));
так не пишет что "ошибка"?
0
0 / 0 / 0
Регистрация: 31.03.2013
Сообщений: 102
21.05.2013, 12:33  [ТС]
[DCC Error] Unit5.pas(49): E2015 Operator not applicable to this operand type
теперь на третьей строчке вот так пишет
и на четвертой также
0
 Аватар для Waddonator
969 / 644 / 97
Регистрация: 01.11.2012
Сообщений: 1,447
21.05.2013, 12:34
Delphi
1
2
3
4
ADOQuery1.SQL.Add('INSERT INTO PTTZSVIAZ(id_TERMINAL)' +
    ' SELECT ID_TERMINAL FROM TPTSVIAZ WHERE datepri BETWEEN ' +
    QuotedStr(DateTimeToStr(DateTimePicker1.DateTime)) +
    ' AND '+QuotedStr(DateTimeToStr(DateTimePicker2.DateTime)));
0
0 / 0 / 0
Регистрация: 31.03.2013
Сообщений: 102
21.05.2013, 14:44  [ТС]
ну не добавляет нивкакую
если чем-то поможет
SQL
1
2
3
4
INSERT INTO PTTZSVIAZ(id_TERMINAL)
SELECT ID_TERMINAL 
  FROM TPTSVIAZ
 WHERE datepri BETWEEN '01.04.2013' AND '29.04.2013';
вот этот код рабочий,а то что пробуем никак
ну это код из IBExpert
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
21.05.2013, 14:44

Подскажите пожалуйста какой запрос нужен чтобы вывести в одну строчку?
Чтоб было ФИЛЬМ ЕГО ПРОФИ ЖАНРЫ большой побег Хенрик...

Подскажите пожалуйста как в выпадающем списке сделать одну строчку жирной?
Здравствуйте, подскажите пожалуйста как в выпадающем списке сделать предпоследнюю строчку жирной? <option value="Hd1"...

Пожалуйста подскажите как изменить параметр
Пожалуйста подскажите как изменить параметр нейм чар(20) на неймчар(15) при помощи апдейт CREATE TABLE testbase (Name char(20), ...

Подскажите,почему не рисует прямоугольник с заданными параметрами?
Вот само задание: Создать меню с командами Size, Color, Paint, Quit. Команда Paint недоступна. При выборе команды Quit приложение ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
37
Ответ Создать тему
Новые блоги и статьи
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман. Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru