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

Вниз

А как отвязать запись от таблицы?   Найти похожие ветки 

 
Alex_S   (2005-01-15 00:12) [0]

В старом добром Паскале есть такой тип record, были и файлы из таких record"ов. Мы читали запись, делали с ней, что хотели, а файл можно было закрыть и забыть. Вот осталось желание взять запись из TTable или TQuery, отделить и теми же методами DBEdit и т.п. возиться с ней, а потом, когда надо, вернуть, если надо. Вопрос: можно ли как-то таскать её в памяти, забыв о файле, или лучшее, что можно придумать - временный файл для неё? Т.е. даже необязательно мне знать все тонкости, а в принципе что с этим в современном Дэльфи в применении с БД?


 
Anatoly Podgoretsky ©   (2005-01-15 00:17) [1]

По секрету Дельфи это и есть Паскаль, это всего лишь маркетинговые игры с названиями, в которые очень любит играть Борланд. Данные их набора данных доступны через TField (основной механизи), ты можешь делать с ними что угодно.
Чувствует также что ты почти ничего не знаешь о базах данных. Тебе надо обязательно почитать литературу. И тогда подобных вопросов в принципе не будет.


 
Alex_S   (2005-01-15 02:39) [2]

Спасибо. Секрет этот я знал всегда :-) Примерно с 1996 года.
И про TField знаю. Вот только хотел бы закрыть таблицу (имеется ввиду файл *.db, например), т.е. Table.Close, а вся запись останется в памяти, в буфере или как-то ещё. Чтобы форму мог править дальше, а потом когда-нибудь, если захочу, вернуть в ту же таблицу (файл *.db) на любое место или в другую таблицу такой же структуры. Да, я пока на земле. И еще помню о файлах и еще не называю папку "базой данных", не влез с головой в клиент-сервер, хорошо помню что такое тип record и как я с ним делал что угодно, чего с записью БД сделать почти невозможно. Ведь согласитесь, это легко ли создать таблицу (файл *.db) с 300 полями? А в record чего угодно указывай, любые массивы выдумывай. Я пока испорчен старым Паскалем и не испорчен клиент-серверными трюками. И вот ни в каких книжках не найду старого доброго способа выделить запись в БД и обратиться к ней как к записи. Да, еще я не был испорчен FoxPro, DBase и т.п. вещами. Поэтому мой образ мысли пока ещё отличается от Вашего. Но я буду стараться избавляться от старых вредных привычек %-((. Напомню старое...
seek(f1,n); read(f1,rec);
rec:=other_rec;
{ .... }
seek(f2,k); write(f2, rec);

Было просто. А теперь?


 
P.N.P. ©   (2005-01-15 02:47) [3]

>Alex_S   (15.01.05 02:39) [2]
> вся запись останется в памяти
Можно и всю таблицу держать в памяти
Для этого уже давно придумано множество
компонентов (например kbMemTable или EhLib)


 
Некто   (2005-01-15 11:43) [4]

>> А как отвязать запись от таблицы? [D7]
отвЯзная запись получится однако :-))
просто запись-беспредельщица

>> Было просто. А теперь?
учи SQL и поймёшь, где действительно просто


 
Alex_S   (2005-01-15 13:14) [5]

>>P.N.P. ©   (15.01.05 02:47) [3]
>>Можно и всю таблицу держать в памяти
Для этого уже давно придумано множество
компонентов (например kbMemTable или EhLib)
-----------
Вот за это и благодарю. Хоть получил, наконец-то пару слов подсказки, куда двигать. Значит всё-таки есть оно, надо только искать...

2Некто - тоже спасибо. Будем учить, однако.
А формулировка вопроса - противоположность существующему где-то рядом.


 
Sergey_Masloff   (2005-01-15 13:25) [6]

Alex_S   (15.01.05 13:14) [5]
Может подойдет TClientDataSet? Его ж не обязательно в MIDAS использовать. Определил ему поля дал CreateDataSet назаписывал в него данных и работай-заработайся. И стандартный компонент а всякие kbMem они ж без исходников - таких бомб можно заполучить (и было кстати и именно с kbMem)


 
P.N.P. ©   (2005-01-15 15:46) [7]

>Sergey_Masloff   (15.01.05 13:25) [6]
Ну незнаю, у меня
kbmMemTable v. 5.00 beta - с исходниками.
И проблем пока не наблюдал =)


 
sniknik ©   (2005-01-15 18:10) [8]

> Может подойдет TClientDataSet?
а может и TADODataSet, аналогичные веши есть. см. ветку "Промежуточная база?"


 
Alex_S   (2005-01-16 16:08) [9]

Мнения разные важны, мнения разные нужны... Будем смотреть



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

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

Наверх




Память: 0.49 MB
Время: 0.026 c
1-1106793730
Black
2005-01-27 05:42
2005.02.13
шаблоны Word


4-1104240928
BVV
2004-12-28 16:35
2005.02.13
WinExec


3-1105688493
TSa
2005-01-14 10:41
2005.02.13
Поключиться к БД MySQL в INTERNET


14-1106590357
Шишкин Илья
2005-01-24 21:12
2005.02.13
Домен второго уровня


14-1106220358
uny
2005-01-20 14:25
2005.02.13
Aктивное микроканальное охлаждение