Главная страница
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.07 c
2-1127322112
quadronik
2005-09-21 21:01
2005.10.16
логотип при загрузке программы


2-1124890165
NikNet
2005-08-24 17:29
2005.10.16
Если ли в DELPHI трех байтовй тип ?


9-1113160907
Yegorchic
2005-04-10 23:21
2005.10.16
Эффект вечного приближения


2-1126858358
Андрей гость
2005-09-16 12:12
2005.10.16
Разбить текстовое поле на части


2-1125911392
Антоний
2005-09-05 13:09
2005.10.16
Разбить несколько слов...