Как вставить новую запись в БД

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Nikolka
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 174
Зарегистрирован: 01.01.2004 (Чт) 2:06

Как вставить новую запись в БД

Сообщение Nikolka » 16.01.2005 (Вс) 16:03

А если более точно: нужно как-то вставить запись в середину БД. Не переписывать же её всю...

Alexanbar
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1727
Зарегистрирован: 13.04.2004 (Вт) 23:04
Откуда: Волгоградская обл.

Сообщение Alexanbar » 17.01.2005 (Пн) 1:43

Обычно, запись добавляется в конец.
А чтобы как-то она оказалась в середине, можно попытаться составить запрос соответствующим образом.

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 17.01.2005 (Пн) 2:19

В спецификации средств управления базами данных чётко сказано: вы не можете делать никаких предположений относительно того, в каком порядке данные физически хранятся на диске.

Так что даже если ты добавишь в конец, база очень может решить всунуть её в середину. И наоборот.
И это правильно :)
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Nikolka
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 174
Зарегистрирован: 01.01.2004 (Чт) 2:06

Сообщение Nikolka » 18.01.2005 (Вт) 19:15

Боюсь, придёться в конец добавлять новую запись, а после всё, что было после нужной мне позиции переписывать в конец. Муторно.

Nikolka
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 174
Зарегистрирован: 01.01.2004 (Чт) 2:06

Сообщение Nikolka » 18.01.2005 (Вт) 19:35

Вот, где-то откопал, хотя все пишут, что нельзя:

Положение новой записи в наборе зависит от типа объекта Recordset:
1. В объектах Recordset типа динамического набора записей новая запись будет добавлена в конец набора вне зависимости от любых правил сортировки или упорядочивания, которые действовали в момент открытия объекта Recordset.
2. В объектах Recordset типа таблицы, имеющих заданное значение свойства Index, записи будут помещены в соответствующее положение, определяемое порядком сортировки. Если значение свойства Index не задано, то записи добавляются в конец набора записей.
Текущей записью остается та запись, которая была текущей до применения метода AddNew. При необходимости сделать текущей новую запись можно указать в свойстве Bookmark закладку, ссылка на которую определена в значении свойства LastModified.


:lol:

Правда у меня ничего не выходит т.к. я не врубаюсь, что они имеют ввиду...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 19.01.2005 (Ср) 9:00

Объясняю. Независимо от того, что там написано, новая запись добавляется туда, куда ей захочется. Обычно это конец рекордсета.
Если рекордсет индексированный, то он будет тут же пересортирован.
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 3

    TopList