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

Вниз

Изменение данных в таблице Paradox   Найти похожие ветки 

 
Artemij ©   (2003-07-28 13:47) [0]

Здравствуйте! Я пытаюсь програмным путем изменить данные одного из нескольких полей в таблице, т.е. необходимо, чтобы данные первого и третьего полей остались неизменными, а данные второго поменялись на данные из TXT файла. Пробовал следующее:
var
f : textFile;
s : string;
a : string;
begin
AssignFile(f,"D:\aaa.txt");
Reset(f);
while not Eof(f) do
begin
ReadLn(f,s);
a := s;
Table1.InsertRecord([Null, a, Null]);
( f)
Здравствуйте! Я пытаюсь програмным путем изменить данные одного из нескольких полей в таблице, т.е. необходимо, чтобы данные первого и третьего полей остались неизменными, а данные второго поменялись на данные из TXT файла. Пробовал следующее:
var
f : textFile;
s : string;
a : string;
begin
AssignFile(f,"D:\aaa.txt");
Reset(f);
while not Eof(f) do
begin
ReadLn(f,s);
a := s;
Table1.InsertRecord([Null, a, Null]);
end;
CloseFile(f);
end;

где думал, что Null игорирует знач. полей и перескакивает их. Но вылетает окно, что не может подставить значение первого поля :(. Есть ли какой-нибудь способ решить задачку? Спасибо!


 
Соловьев ©   (2003-07-28 13:52) [1]


> где думал, что Null игорирует знач.

нет не игнорирует.

var
f : textFile;
s : string;
begin
AssignFile(f,"D:\aaa.txt");
Reset(f);
while not Eof(f) do
begin
ReadLn(f,s);
a := s;
Table1.Edit;
Table1.Fileds[1].AsString = s;
Table1.Post;
( f)

> где думал, что Null игорирует знач.

нет не игнорирует.

var
f : textFile;
s : string;
begin
AssignFile(f,"D:\aaa.txt");
Reset(f);
while not Eof(f) do
begin
ReadLn(f,s);
a := s;
Table1.Edit;
Table1.Fileds[1].AsString = s;
Table1.Post;
end;
CloseFile(f);
end;


 
Mike1 Kouzmine1   (2003-07-28 13:52) [2]

Nil


 
Mike1 Kouzmine1   (2003-07-28 13:53) [3]

Прошу прощения - не увидел, что изменить.


 
sniknik ©   (2003-07-28 13:58) [4]

а если так?
Table1.InsertRecord([Null, a]);
(не вводить конечные нилы, как в примере ...
Note that Nulls are entered for some of the values, but are not required for missing values at the end of the array argument.)

у Соловьев © (28.07.03 13:52)
Table1.Edit;
на
Table1.Append;
поменяй.


 
Соловьев ©   (2003-07-28 14:04) [5]


> sniknik © (28.07.03 13:58

нет, ты не прав. автор поста говорит как раз про обновление

> Я пытаюсь програмным путем изменить данные одного из нескольких
> полей в таблице



 
Соловьев ©   (2003-07-28 14:10) [6]


> Artemij © (28.07.03 13:47)

только как ты проверяешь соответсвие записей в БД и текстовом файле?


 
sniknik ©   (2003-07-28 14:15) [7]

Соловьев © (28.07.03 14:04)
>> sniknik © (28.07.03 13:58
>нет, ты не прав. автор поста говорит как раз про обновление
тогда зачем делает
Table1. InsertRecord([Null, a, Null]);
?
по коду похоже на добавление таблицы из текстового файла.


 
Соловьев ©   (2003-07-28 14:22) [8]


> тогда зачем делает
> Table1.InsertRecord([Null, a, Null]);

А кто его знает? может не разобрался что делает этот метод(а судя по NULL, то хелп и не смотрит).


 
Artemij ©   (2003-07-28 14:25) [9]

Я пытаюсь полностью обновить данные поля. Пробовал Table1.Edit и Table1.Assign. В первом случае меняется только первая запись, а во втором записи только добавляются, но не изменяются.

> Соловьев ©


> только как ты проверяешь соответсвие записей в БД и текстовом
> файле?


Кол-во записей одинаково и они все едут подряд.


 
Artemij ©   (2003-07-28 14:28) [10]


> Соловьев ©


> может не разобрался что делает этот метод(а судя по NULL,
> то хелп и не смотрит).

В Help то как раз посмотрел, но не разобрался, что этот метод делает.


 
Mike1 Kouzmine1   (2003-07-28 14:30) [11]

А ты переходи на нужную запись и ее редактируй, а как на нее перейти - вот вопрос. Если последовательно все идет и без индексов, то последовательно, а проще все удали и заново добавь.


 
Соловьев ©   (2003-07-28 14:32) [12]


> Кол-во записей одинаково и они все едут подряд.

лучше если бы было какое-то ключевое поле.

> Я пытаюсь полностью обновить данные поля. Пробовал Table1.Edit
> и Table1.Assign. В первом случае меняется только первая
> запись, а во втором записи только добавляются, но не изменяются.

нужно использовать Edit. надо после
Table.Post; Table1.Next; - забыл про это :)


 
Artemij ©   (2003-07-28 14:33) [13]

> В первом случае меняется только первая запись
и то это последнее значение из TXT файла. Получается, что не происходит перескок на следующий Record в таблице.


 
Artemij ©   (2003-07-28 14:35) [14]


> Соловьев ©

ЗАРАБОТАЛО! СПАСИБО!



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

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

Наверх




Память: 0.5 MB
Время: 0.015 c
1-68263
Hermes
2003-08-07 11:45
2003.08.21
Как создовать Button?


3-68155
николай
2003-07-29 12:05
2003.08.21
TPageControl


6-68424
ga3
2003-06-03 17:18
2003.08.21
и снова TWebBrowser:-)


1-68376
acsoft
2003-08-07 19:57
2003.08.21
Как программно навести курсор на ссылку в документе, загруженном


14-68543
prihod
2003-08-04 17:59
2003.08.21
!!! ПИШИТЕ ПОСТЕРЫ !!!