Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Считываю данные из текстового файла в парадоксовскую таблицу, пос [D6, Win95/98]


DN ©   (2002-10-21 17:32:00) 

леднее поле типа MEMO, выдает ошибку на отсутствие файла типа *.MB в котором как я понимаю должно храниться значение этого поля. Кто знает, подскажите что за файл, и как его организовать?


Max Zyuzin   (2002-10-22 13:12:00) [1]

Это потому, что оно Memo ;) Используй DBMemo для отображения.
Можно Grid взять особенный... я только не в курсе какой вроде как RXDBGrid отображает... (но может вру)


DN   (2002-10-22 12:36:00) [2]

>>Max Zyuzin
После пересоздания таблицы все заработало, файл .MB вырос с 2КБ до 36, но почему в этом поле MEMO не отображается его значение, а только (MEMO)????????


gek   (2002-10-22 11:23:00) [3]

А так не пашет >

Table1.FieldByName("Note").Asstring:=s5;


Max Zyuzin   (2002-10-22 11:06:00) [4]

Попробуй еще раз создать таблицу с такими же полями...


DN   (2002-10-22 11:03:00) [5]

М..да, тоже самое "Not exact read/write .....MB"


DN   (2002-10-22 10:34:00) [6]

>> Max Zyuzin

Table1.FieldByName("Data").AsString:=s4;
s5:=Copy(s3N,11,Length(s2N)-11);// пятая часть
// Table1.FieldByName("Note").AsMemo:=s5;

В комментарии строка, которая считывает данные в мемо-поле и не работает(извиняюсь, сразу не скопировал в сообщение)

Файл .MB есть рядом с .DB

Вылетает на первом проходе.

Сейчас попробую с value.


Max Zyuzin   (2002-10-22 10:15:00) [7]

Вылетает на первом же проходе?
А где у вас Table1.Post;
Зачем выделяем s5?
Table1.FieldByName("Data").value:=s4;? А так?
А вообще на диске есть файл с расширением *.MB? Может вы его случаем потерли или не дозаписали (если переписывали от куда нить)? Попробуйте создать таблицу еще раз...


DN   (2002-10-22 10:08:00) [8]


if OpenDialog2.Execute then
begin
AssignFile(F, OpenDialog2.FileName);
Reset(F);
Table1.DisableControls;
while not EOF(F) do
begin
Readln(F,St1);
St := St + #13 + St1;
if St1 = "######" then
begin
Table1.Append;
SN:=StringReplace(St, "#", " ",Flags);
{ разбиение строки SN на значения полей для занесения в БД }
s:=SN; // исходная строка
s1:=Copy(s,1,pos(",",s)-1); // первая часть
Table1.FieldByName("Identifikator").AsString:=s1;
s1N:=Copy(s,pos(",",s)+1,Length(s)-pos(",",s));
s2:=Copy(s1N,2,pos(",",s1N)-2); // вторая часть
Table1.FieldByName("Vid_doc").AsString:=s2;
Delete(s2,Length(s2),1);
s2N:=Copy(s1N,pos(",",s1N)+1,Length(s1N)-pos(",",s1N));
s3:=Copy(s2N,2,pos(",",s2N)-3); // третья часть
Table1.FieldByName("Num_akt").AsString:=s3;
s3N:=Copy(s2N,pos(",",s2N)+1,Length(s2N)-pos(",",s2N));
s4:=Copy(s3N,2,8); // четвертая часть
Table1.FieldByName("Data").AsString:=s4;
s5:=Copy(s3N,11,Length(s2N)-11);// пятая часть
Table1.Next;
Delete(SN,1,Length(SN));
end;
CloseFile(F);
end
else
ShowMessage("Даааа-ааа-аа-а");
end;


DN   (2002-10-22 09:46:00) [9]

Да


gek   (2002-10-22 09:46:00) [10]

Приведи код


Max Zyuzin   (2002-10-22 09:31:00) [11]

А у вас точно есть поле Memo в таблице?


DN   (2002-10-22 09:18:00) [12]

Таблица есть, я в нее считываю данные из текстового файла, все поля считывают в себя значения кроме этого MEMO


Демонов Е.В.   (2002-10-21 17:53:00) [13]

Что то я не понял - у вас уже есть парадоксовская таблица или ?


Демонов Е.В.   (2002-10-21 17:52:00) [14]

Тип мемо обычно задаётся так : какоето количество символолв мемо поля хранится в самом парадоковском файле остальное в файле *.MB
(Так же и BLOB поля).

организовать его может и можно создав новую таблицу с таким же именем с такой же структурой и заполнив таким же количеством записей как и используемая вами - потом просто передрать файл *.MB - хотя ...... кто знает ? Здаётся мне что файл *.MB зделан не просто .. наверно в нем как то хитро организуется хранение данных - иначе просто небыло бы смысла.

Но всё равно попробуй. ...


Наверх

Титульная страница Поиск, карта сайта Написать письмо