Главная страница
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.064 c
8-1116755107
MACTEP'oK
2005-05-22 13:45
2005.10.16
DirectSound. Проблема с записью длительного звукового потока .


1-1127379430
VID
2005-09-22 12:57
2005.10.16
Как отключить автоцентрирование найденной записи в EhDBGrid


6-1120095885
vidiv
2005-06-30 05:44
2005.10.16
освобождение памяти после gethostbyname


8-1116958075
ALL
2005-05-24 22:07
2005.10.16
Графическое построение схем


4-1124011803
Denis_Ac
2005-08-14 13:30
2005.10.16
Hook Chain