Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.10.16;
Скачать: CL | DM;

Вниз

Неверная фильтрация, ADO, доступ к текстовым файлам через Jet   Найти похожие ветки 

 
DmitryNekl   (2005-08-31 12:06) [0]

Здравствуйте!

Надеюсь на вашу помощь.

Ситуация такая. Есть csv-файл, который грузится в динамически создаваемые ADO-компоненты:

 ADOTable1:=TADOTable.Create(Form1);
 ADOTable1.Name:="ADOTable1";
 ADOTable1.ConnectionString:="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + ExtractFilePath(Application.ExeName) + ";Extended Properties=text;Persist Security Info=False";

 ADOTable1.TableName:="base#csv";

 DataSource1:=TDataSource.Create(Form1);
 DataSource1.Name:="DataSource1";
 DataSource1.DataSet:=ADOTable1;

 DBGrid1:=TDBGrid.Create(Form1);
 DBGrid1.Name:="DBGrid1";
 DBGrid1.Parent:=Form1;
 DBGrid1.Align:=alClient;
 DBGrid1.DataSource:=DataSource1;

 ADOTable1.Active:=True;


Кроме того, используется файл schema.ini:

[base.csv]
ColNameHeader=True
Format=Delimited(;)
MaxScanRows=500
CharacterSet=ANSI
Col1="Col1" Char Width 100
Col2="Col2" Char Width 100
Col3="Col3" Char Width 255
Col4="Col4" Char Width 100
Col5="Col5" Float
Col6="Col6" Char Width 100


В csv-файле 5-ая колонка содержит цифры, как целые, так и дробные. Разделитель пробовал менять (точка или запятая), ничего не меняется, в гриде отображается запятая. Проблема: при выполнении фильтрации


ADOTable1.Filter:="Col5=0,5";
ADOTable1.Filtered:=True;


отображаются данные с Col5=5, а не 0,5.

Подскажите, плз, как решить проблему?


 
Slym ©   (2005-08-31 13:28) [1]

ADOTable1.Filter:="Col5="0,5"";?


 
DmitryNekl   (2005-08-31 13:58) [2]

Дык поле-то не текстовое... не помогает.
Решил! :) Забавно... в условии фильтрации вместо запятой точку прописал. Все заработало :)


 
Palladin ©   (2005-08-31 20:52) [3]

А чего забавного? Не задумывался, что в Delphi числа-константы с плавающей точкой записываются именно через точку, а не запятую, вне зависимости от региональных настроек


 
Anatoly Podgoretsky ©   (2005-09-01 01:01) [4]

Фильтры и запросы делаются без учета региональных настроек, используется универсальная нотация, через точку.



Страницы: 1 вся ветка

Текущий архив: 2005.10.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.058 c
14-1124894682
Marser
2005-08-24 18:44
2005.10.16
Опрос: Студенты и работа.


2-1126613672
Kolan
2005-09-13 16:14
2005.10.16
Стек элементы которого - объекты


2-1127064248
ArtemESC
2005-09-18 21:24
2005.10.16
WMF => BMP


6-1119603331
chery
2005-06-24 12:55
2005.10.16
Какая доля пакета "тратится" на служебную инфу?


2-1125919611
JTAG
2005-09-05 15:26
2005.10.16
Помогите кто работал с функцией ShellExecute