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

Удаление записей Delphi - Ado - Access через SQL Between

07.06.2012, 19:09. Показов 4160. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброго времени суток.
БД - для учета школьных олимпиад. Нужно написать запрос для удаления олимпиад по каждому уч. году.
Пример
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
if DeleteRecForm.ComboBox1.Text='2012-2013' then   //если выбран 2012-2013 уч.год
  begin
    try
    DModule.QDeleteRec.Active:=False; //отключаем Query
    DModule.QDeleteRec.SQL.Clear;     //Очищаем SQL
    DModule.QDeleteRec.SQL.Add('Delete From Олимпиада ');     //Непосредственно сам запрос
    DModule.QDeleteRec.SQL.Add('Where Дата_проведения BETWEEN '01.09.2012' AND '31.08.2013';');
    DModule.QDeleteRec.Active:=True;  //Включаем
    except
    ShowMessage('Невозможно удаление олимпиад 2012-2013 уч.года. Возможно записи по этому году отсутствуют');
    end;
  end
 
  else  //Следующее условие
Пишет ошибка синтаксиса в выражении "Дата_проведения BETWEEN '01.09.2012' AND '31.08.2013'"

Может просто с датой как то нужно её преобразовывать, т.к. запись в запросе это string а в БД поле по которому проверяется это datetame. Маска ввода в access и самом delphi стоит dd.mm.yyyy

Подскажите кто знает пожалуйста
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
07.06.2012, 19:09
Ответы с готовыми решениями:

Невозможно удаление записей. ADO / Access / Jet 4.0
Здравствуйте, уважаемые. Простой вопрос, однако разобраться сам не могу. Искал похожие темы, нашел, однако они не помогли. Не могу...

Delphi и SQL (ADO, Access)
Здравствуйте. Возникла такая проблема: Использую Access через ADO. Создаю новое поле (столбец) в бд: CurDate:=DateToStr(Now); for i...

Delphi+ADO+access SQL запрос
Добрый день уважаемые програмисты!. Помогите разобраться. Есть таблица в Аксесе: Data Doxod Rasxod Необходимо произвести...

5
 Аватар для HyperZen
498 / 251 / 56
Регистрация: 16.06.2011
Сообщений: 904
07.06.2012, 19:20
У тебя данные, заключенные в кавычки (даты) вне запроса. Плюс ошибка инициализации, так сказать, запроса. После удаления/добавления/обновления данных путем запроса необходимо вызвать метод ExecSQL, а не просто Active = True или Open.

Добавлено через 3 минуты
Delphi
1
2
 DModule.QDeleteRec.SQL.Text:=('Delete From Олимпиада Where Дата_проведения BETWEEN 01.09.2012 AND 31.08.2013');
    DModule.QDeleteRec.ExecSQL;
Пишу на коленках, может даты включить в двойные кавычки...

Добавлено через 2 минуты
Delphi
1
if DeleteRecForm.ComboBox1.Text='2012-2013' then   //если выбран 2012-2013 уч.год
Это ты так на каждый период будешь заносить в ComboBox?
А если прогу запустить через 5 лет?
1
0 / 0 / 0
Регистрация: 07.06.2012
Сообщений: 18
07.06.2012, 19:33  [ТС]
эта прога никому не нужна, но все равно не получается как ты написал

Delphi
1
2
DModule.QDeleteRec.SQL.Text:=('Delete From Îëèìïèàäà Where Äàòà_ïðîâåäåíèÿ BETWEEN 01.09.2012 AND 31.08.2013');
DModule.QDeleteRec.ExecSQL;
текст ошибки почти тот же
Миниатюры
Удаление записей Delphi - Ado - Access через SQL Between  
0
0 / 0 / 0
Регистрация: 07.06.2012
Сообщений: 18
07.06.2012, 19:36  [ТС]
вот поставил даты в двойные кавычки, другая ошибка - несоответствие типов данных в условии выражения или отбора.

в итоге как поменять в запросе тип StrToDate или DateToStr вообще бред получается
0
 Аватар для HyperZen
498 / 251 / 56
Регистрация: 16.06.2011
Сообщений: 904
07.06.2012, 19:55
Access, любит такую ерунду, как:
SQL
1
2
3
DELETE Дата_проведения
FROM Олимпиада
WHERE ((Дата_проведения BETWEEN #1/1/2012# AND #2/1/2012#));
0
0 / 0 / 0
Регистрация: 07.06.2012
Сообщений: 18
07.06.2012, 20:10  [ТС]
заработало) спасибо)
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
07.06.2012, 20:10
Помогаю со студенческими работами здесь

Удаление записей из Access в Delphi
Мир всем и привет ! люди добрые подскажите пожалуйста, как удалить записи из базы Аксес, чтобы объем файла уменьшился. База пока...

Подключение базы данных sql к delphi через ADO
Здравствуйте. При подключении базы данных созданной в sql managment studio через ADODB возникает проблема с подключением.Ошибка канала...

Создание/изменение/удаление данных в Excel подключеную через ADO Delphi
Здравствуйте люди добрые. Помогите с такой ситуацией. 2 формы в delphi, на первой через ado подключена access на второй через ado excel....

Удаление всех записей через форму Access
Добрый день! Подскажите пожалуйста, как удалить все записи таблицы с помощью кнопки на ленточной форме? Кнопка "Удалить"...

Удаление записей из связанных таблиц через Access
Проблема такая. Есть My SQL server на машине А и БД написанная на Access 2010 локальная на машине Б, нужно сделать ее сетевой. Через...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
Воспроизведение звукового файла с помощью SDL3_mixer при касании экрана Android
8Observer8 26.01.2026
Содержание блога SDL3_mixer - это библиотека я для воспроизведения аудио. В отличие от инструкции по добавлению текста код по проигрыванию звука уже содержится в шаблоне примера. Нужно только. . .
Установка Android SDK, NDK, JDK, CMake и т.д.
8Observer8 25.01.2026
Содержание блога Перейдите по ссылке: https:/ / developer. android. com/ studio и в самом низу страницы кликните по архиву "commandlinetools-win-xxxxxx_latest. zip" Извлеките архив и вы увидите. . .
Вывод текста со шрифтом TTF на Android с помощью библиотеки SDL3_ttf
8Observer8 25.01.2026
Содержание блога Если у вас не установлены Android SDK, NDK, JDK, и т. д. то сделайте это по следующей инструкции: Установка Android SDK, NDK, JDK, CMake и т. д. Сборка примера Скачайте. . .
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru