![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Изменение данных в таблице Paradox
Artemij © (2003-07-28 13:47:00)Здравствуйте! Я пытаюсь програмным путем изменить данные одного из нескольких полей в таблице, т.е. необходимо, чтобы данные первого и третьего полей остались неизменными, а данные второго поменялись на данные из TXT файла. Пробовал следующее:
var
f : textFile;
s : string;
a : string;
begin
AssignFile(f,"D:\aaa.txt");
Reset(f);
while notEof(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 notEof(f) do
begin
ReadLn(f,s);
a := s;
Table1.InsertRecord([Null, a, Null]);
end;
CloseFile(f);
end;
где думал, что Nullигорирует знач. полей и перескакивает их. Но вылетает окно, что не может подставить значение первого поля :(. Есть ли какой-нибудь способ решить задачку? Спасибо!
Artemij (2003-07-28 14:35:00) [1]
> Соловьев ©
ЗАРАБОТАЛО! СПАСИБО!
Artemij (2003-07-28 14:33:00) [2]
> В первом случае меняется только первая запись
и то это последнее значение из TXT файла. Получается, что не происходит перескок на следующий Record в таблице.
Соловьев (2003-07-28 14:32:00) [3]
> Кол-во записей одинаково и они все едут подряд.
лучше если бы было какое-то ключевое поле.
> Я пытаюсь полностью обновить данные поля. Пробовал Table1.Edit
> и Table1.Assign. В первом случае меняется только первая
> запись, а во втором записи только добавляются, но не изменяются.
нужно использовать Edit. надо после
Table.Post; Table1.Next; - забыл про это :)
Mike1 Kouzmine1 (2003-07-28 14:30:00) [4]
А ты переходи на нужную запись и ее редактируй, а как на нее перейти - вот вопрос. Если последовательно все идет и без индексов, то последовательно, а проще все удали и заново добавь.
Artemij (2003-07-28 14:28:00) [5]
> Соловьев ©
> может не разобрался что делает этот метод(а судя по NULL,
> то хелп и не смотрит).
В Help то как раз посмотрел, но не разобрался, что этот метод делает.
Artemij (2003-07-28 14:25:00) [6]
Я пытаюсь полностью обновить данные поля. Пробовал Table1.Edit и Table1.Assign. В первом случае меняется только первая запись, а во втором записи только добавляются, но не изменяются.
> Соловьев ©
> только как ты проверяешь соответсвие записей в БД и текстовом
> файле?
Кол-во записей одинаково и они все едут подряд.
Соловьев (2003-07-28 14:22:00) [7]
> тогда зачем делает
> Table1.InsertRecord([Null, a, Null]);
А кто его знает? может не разобрался что делает этот метод(а судя по NULL, то хелп и не смотрит).
sniknik (2003-07-28 14:15:00) [8]
Соловьев © (28.07.03 14:04)
>> sniknik © (28.07.03 13:58
>нет, ты не прав. автор поста говорит как раз про обновление
тогда зачем делает
Table1. InsertRecord([Null, a, Null]);
?
по коду похоже на добавление таблицы из текстового файла.
Соловьев (2003-07-28 14:10:00) [9]
> Artemij © (28.07.03 13:47)
только как ты проверяешь соответсвие записей в БД и текстовом файле?
Соловьев (2003-07-28 14:04:00) [10]
> sniknik © (28.07.03 13:58
нет, ты не прав. автор поста говорит как раз про обновление
> Я пытаюсь програмным путем изменить данные одного из нескольких
> полей в таблице
sniknik (2003-07-28 13:58:00) [11]
а если так?
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;
поменяй.
Mike1 Kouzmine1 (2003-07-28 13:53:00) [12]
Прошу прощения - не увидел, что изменить.
Соловьев (2003-07-28 13:52:00) [13]
> где думал, что 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:00) [14]
Nil