![]() |
|
|
#1
|
|||
|
|||
|
Всем доброго.
(В инете не нашел толкового решения только причину=(( ) При запросе выскакивает сообщение E_FAIL при просмотре 1 из записей dbf файла. Немного кода для наглядности=) Код:
//Строка подключения и провайдер (с этим проблем нет)
.ConnectionString :=
'Provider=VFPOLEDB.1;Data Source=d:\post2\;Mode=Read;User ID="admin";Password="";Mask Password=False;'+
'Cache Authentication=False;Encrypt Password=False;Exclusive=True;DELETED=TRUE;';
//Сам запрос с проблемой
sqltext :='Select '+
'IIF(ISNULL(TYPEM),0,TYPEM) AS TYPE, '+
'IIF(ISNULL(SVOD.NAME),0,SVOD.NAME) AS NAME, '+
'IIF(ISNULL(CURMON),0,CURMON) AS CURMON, '+
'IIF(ISNULL(WORKDAYS),0,WORKDAYS) AS WORKDAYS, '+
'IIF(ISNULL(SVOD.CURSUM),0,SVOD.CURSUM) AS CURSUM, '+
'IIF(ISNULL(FILTERF),0,FILTERF) AS FILTERF, '+
'IIF(ISNULL(SVOD.CURSUM1),0,SVOD.CURSUM1) AS CURSUM1 '+
'From "'+DBPAth+'SVOD.DBF" AS SVOD 'Код:
//Цикл перебора данных
for i := 1 to rCount do
begin
pb1.Position := i;
if ConvertOemToAnsi(ds1.DataSet.FieldByName('NAME').AsString) = '' then
begin
strngrdsvod.Cells[0,strngrdsvod.RowCount - 1] := ds1.DataSet.FieldByName('TYPEM').AsString;
strngrdsvod.Cells[1,strngrdsvod.RowCount - 1] := ConvertOemToAnsi(ds1.DataSet.FieldByName('NM').AsString);
strngrdsvod.Cells[2,strngrdsvod.RowCount - 1] := ds1.DataSet.FieldByName('WORKDAYS').AsString;
strngrdsvod.Cells[3,strngrdsvod.RowCount - 1] := ds1.DataSet.FieldByName('CURSUM').AsString;
strngrdsvod.Cells[4,strngrdsvod.RowCount - 1] := ds1.DataSet.FieldByName('CURSUM1').AsString;
end else
begin
strngrdsvod.Cells[0,strngrdsvod.RowCount - 1] := ConvertOemToAnsi(ds1.DataSet.FieldByName('NAME').AsString);
if ds1.DataSet.FieldByName('FILTERF').AsString = 'A' then
strngrdsvod.Cells[1,strngrdsvod.RowCount - 1] := ds1.DataSet.FieldByName('CURSUM').AsString;
end;
strngrdsvod.RowCount := strngrdsvod.RowCount + 1;
if i <> rCount then
ds1.DataSet.FindNext;
Application.ProcessMessages;
end;Поля таблицы:svod |
|
#2
|
|||
|
|||
|
Народ ну может хоть какие-то догадки или мысли в каком направлении поразмыслить?
![]() |
|
#3
|
||||
|
||||
|
ДБФка нормально читается утилитами работы с ДБФ?
|
|
#4
|
|||
|
|||
|
Проблем вроде не наблюдается, но просматриваю через cdbfview в tottalcommanere плагином. И в FoxPro без проблем.(
|