Форум программистов
 
Контакты: о проблемах с регистрацией, почтой и по другим вопросам пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail.

Вернуться   Форум программистов > Delphi > Lazarus, Free Pascal, CodeTyphon
Регистрация

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

Ответ
 
Опции темы
Старый 25.10.2017, 11:41   #1
gribo4ek
Пользователь
 
Регистрация: 07.05.2011
Сообщений: 15
Репутация: 10
По умолчанию База данных DBF

Доброго времени суток всем.
Имеется проблема
Есть файл БД Calls.dbf
Взял Lazarus , кинул на форму
DBGrid1+Dbf1+Datasource1
Написал код

Dbf1.TableName:= 'Calls.dbf';
Dbf1.Open;


Все норм, открылась моя БД
Теперь вопрос, как сделать sql запрос. Мне нужно сделать выборку по Дате, там имеется столбец DATE. Как реализовать???
gribo4ek вне форума   Ответить с цитированием
Старый 25.10.2017, 11:51   #2
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 17,351
Репутация: 6038
По умолчанию

Выбрось Dbf1, используй ADOQuery и провайдер jet oledb. Там еще от кодировки dbf зависит и того, указана ли кодовая таблица в заголовке дбф. Можно провайдер msdasql через odbc или фокспрошный
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума   Ответить с цитированием
Старый 25.10.2017, 12:21   #3
gribo4ek
Пользователь
 
Регистрация: 07.05.2011
Сообщений: 15
Репутация: 10
По умолчанию

Цитата:
Сообщение от gribo4ek Посмотреть сообщение
Написал код

Dbf1.TableName:= 'Calls.dbf';
Dbf1.Open;
Цитата:
Сообщение от Аватар Посмотреть сообщение
Выбрось Dbf1, используй ADOQuery и провайдер jet oledb. Там еще от кодировки dbf зависит и того, указана ли кодовая таблица в заголовке дбф. Можно провайдер msdasql через odbc или фокспрошный
Есть пример может???
gribo4ek вне форума   Ответить с цитированием
Старый 25.10.2017, 12:22   #4
gribo4ek
Пользователь
 
Регистрация: 07.05.2011
Сообщений: 15
Репутация: 10
По умолчанию

Просто в Lazarus вроде как нет ADOQuery
gribo4ek вне форума   Ответить с цитированием
Старый 25.10.2017, 12:50   #5
Аватар
Модератор
Заслуженный модератор
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Адрес: Северодонецк.ua
Сообщений: 17,351
Репутация: 6038
По умолчанию

Проглядел. Ну SQLQuery есть. Да и делфийское ado это просто обвертки вокруг адошных сом-объектов. При желании можно и из лазаруса обратиться
__________________
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума   Ответить с цитированием
Старый 25.10.2017, 12:52   #6
gribo4ek
Пользователь
 
Регистрация: 07.05.2011
Сообщений: 15
Репутация: 10
По умолчанию

Цитата:
Ну SQLQuery есть.
- вот в том то и дело что через него не получается ничего!!!!
Поэтому и обратился
gribo4ek вне форума   Ответить с цитированием
Старый 25.10.2017, 14:20   #7
gribo4ek
Пользователь
 
Регистрация: 07.05.2011
Сообщений: 15
Репутация: 10
По умолчанию

Поможет кто ни буть??
gribo4ek вне форума   Ответить с цитированием
Старый 30.10.2017, 18:23   #8
Rik
Форумчанин
 
Аватар для Rik
 
Регистрация: 28.07.2007
Адрес: Урал
Сообщений: 356
Репутация: 277
По умолчанию

А Вам для каких целей DBF если не секрет?
В TDBF можно попробовать использовать метод SetRange(Value1, Value2) который устанавливает диапазон вроде фильтра, работает по индексированному полю, т.е. сначала надо по полю с датой создать индекс. Или просто попробовать использовать фильтр.
ps.
Стандартная компонента TDBF не работает нормально с кодировкой Win1251 и CP866, она будет тупо лить в TDBF строки в UTF-8, такую DBF потом ни один нормальный движок не прочитает. А если попадет нормальная таблица с кодировкой 1251 или 866 Вы в ней увидите то что на скриншоте. Могу дать ссылку на модифицированную версию TxDBF, в которой можно работать с Win1251 и CP866, работает фильтр и SetRange.
Но в любом случае Dbf сейчас использовать не стоит, разве только для обмена данными с внешней системой.
Изображения
Тип файла: png dbflang.png (32.6 Кб, 30 просмотров)
__________________
http://www.visual-t.ru
Rik вне форума   Ответить с цитированием
Старый 31.10.2017, 14:33   #9
gribo4ek
Пользователь
 
Регистрация: 07.05.2011
Сообщений: 15
Репутация: 10
По умолчанию

Цитата:
Сообщение от Rik Посмотреть сообщение
А Вам для каких целей DBF если не секрет?
В TDBF можно попробовать использовать метод SetRange(Value1, Value2) который устанавливает диапазон вроде фильтра, работает по индексированному полю, т.е. сначала надо по полю с датой создать индекс. Или просто попробовать использовать фильтр.
ps.
Стандартная компонента TDBF не работает нормально с кодировкой Win1251 и CP866, она будет тупо лить в TDBF строки в UTF-8, такую DBF потом ни один нормальный движок не прочитает. А если попадет нормальная таблица с кодировкой 1251 или 866 Вы в ней увидите то что на скриншоте. Могу дать ссылку на модифицированную версию TxDBF, в которой можно работать с Win1251 и CP866, работает фильтр и SetRange.
Но в любом случае Dbf сейчас использовать не стоит, разве только для обмена данными с внешней системой.
Дайте ссылку на модифицированный пж TxDBF, посмотрю
gribo4ek вне форума   Ответить с цитированием
Старый 31.10.2017, 20:08   #10
Kamran_
 
Регистрация: 05.10.2017
Сообщений: 9
Репутация: 10
По умолчанию

dbf устаревший но, можно.
для sql нужен компонент TQuery
если вам нужен просто фильтрация
могу вставить код и будет работать
Kamran_ вне форума   Ответить с цитированием
Ответ

Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
база DBF в delphi kolin2112 БД в Delphi 1 08.07.2012 15:25
Из 1С 8.1 перегрузить данные в базу на Delphi (база dbf). Natasha Pavlovskay Помощь студентам 0 17.07.2009 20:45
База DBF работа с SQL запросами Larsus БД в Delphi 12 10.09.2008 10:23
DBF Clipper база в Excel читет только 40 e_dk БД в Delphi 4 01.06.2008 15:00
Кодированная база DBF? Vasya БД в Delphi 6 29.03.2007 08:01


08:15.


Powered by vBulletin® Version 3.8.8 Beta 2
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

RusProfile.ru


Справочник российских юридических лиц и организаций.
Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru