Форум программистов, компьютерный форум, киберфорум
Visual Basic
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 19.09.2007
Сообщений: 118

Почему не обновляется рекордсет?

09.04.2008, 11:16. Показов 1476. Ответов 10
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
почему? Всегда когда я внощу данные в рекордсет и затем делаю recset.update он никогда не обновляется. Приходится его закрывать, открывать, и тогда только он обновляется. Но это же не дело!
Спасибо заранее.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
09.04.2008, 11:16
Ответы с готовыми решениями:

Почему Рекордсет, выводит данные в один столбик?
Добрый день. Помогите пожалуйста, не могу найти ошибку. Все данные выводятся в один столбик Dim s, f Dim dbs As...

Кто знает, почему не работает такой SQL-запрос? Всегда пустой рекордсет.
У меня в asp-странице идет запрос к БД, такого рода. 'SELECT ALL * FROM tbl_price WHERE name Like '*' &...

Почему не обновляется сайт?
Ребята, у меня тут такая проблема возникла. Вообщем создал выпадающее меню для сайта (раньше стояла обычная навигация в виде нескольких...

10
0 / 0 / 1
Регистрация: 01.04.2008
Сообщений: 31
09.04.2008, 12:51
Refresh используй
0
0 / 0 / 0
Регистрация: 19.09.2007
Сообщений: 118
10.04.2008, 13:59  [ТС]
у рекордсета нет свойства refresh. или как-то подругому надо?
0
0 / 0 / 1
Регистрация: 23.01.2008
Сообщений: 251
10.04.2008, 14:28
Requery или Resync, укажи значения свойств CursorLocation, CursorType, LockType, такого не должно быть
0
0 / 0 / 0
Регистрация: 19.09.2007
Сообщений: 118
10.04.2008, 14:39  [ТС]
Спасибо огромное! Всю жизнь думала, почему же не работает....
Правда до сих пор не поняла почему теперь все нормально, зато все работает. Можете чуть-чуть объяснить почему Requery (кстати, Resync не работает), а не Update?
0
0 / 0 / 1
Регистрация: 23.01.2008
Сообщений: 251
10.04.2008, 14:59
не могла бы выложить код. потому что Requery делает повторный запрос к серверу, на что уходит больше времени, чем просто вызвав Update или UpdateBatch и сразу же видеть изменения в рекордсете не делая нового запроса. кстати, при перемещении на другую запись автоматом вызывается Update
0
0 / 0 / 0
Регистрация: 19.09.2007
Сообщений: 118
10.04.2008, 15:14  [ТС]
У меня 2 формы. В одной рекордсет rstNMod, и в ней у меня таблица. В другой Тот же рекордсет, но там я делаю добавление. Когда я добавила запись во второй форме, закрываю и перехожу в первую. И вот там я хочу обновить рекордсет. И делаю Update.
Visual Basic
1
2
3
4
Set rstNMod = New ADODB.Recordset
rstNMod.CursorLocation = adUseClient
rstNMod.CursorType = adOpenDynamic
rstNMod.Open 'Select * from NModul Order by ID_NModul', cnnOcable, 2, 3
0
0 / 0 / 1
Регистрация: 23.01.2008
Сообщений: 251
10.04.2008, 15:24
если я все правильно понял, то ресурсы у вас используются нерационально. когда открываешь вторую форму передавай аргументом указатель на рекордсет в котором сидит таблица, там делаешь добавления, закрываешь, в итоге у первой формы тот же рекордсет с обновлениями.
допустим тебе все таки надо создавать новый экземпляр рекордсета во второй форме, тогда в первой форме у рекордсета должен быть курсор на стороне сервера, чтобы тот умел отслеживать изменения, внесенные другими транзакциями.
а requery приходится вызывать потому что курсор на стороне клиента, все данные считаны в память клиента, с сервером связи нет, поэтому приходится обновлять принудительно.
0
0 / 0 / 0
Регистрация: 19.09.2007
Сообщений: 118
10.04.2008, 15:29  [ТС]
Ой, какой вы умный...
Дело в том , что у меня тогда есть еще одна проблема. Это то, о чем вы сначала сказали. Я просто решила, что нельзя открыв новую форму обновлять данные в рекордсете, открытом в первой. Т.е. я не знаю, как переносить параметр, или вообще что нужно для этого сделать.. .
Если Вас не затруднит, можно узнать, как это сделать?
0
0 / 0 / 1
Регистрация: 23.01.2008
Сообщений: 251
10.04.2008, 16:28
главная форма:
Visual Basic
1
2
3
4
5
6
7
Private m_rst As ADODB.Recordset
Private Sub Form_Load()
' здесь инициализируется рекордсет
End Sub
Private Sub cbtAdd_Click()
    frmAdd.ShowMe m_rst
End Sub
форма для добавления:
Visual Basic
1
2
3
4
5
6
7
8
9
Private m_rst As ADODB.Recordset
Public Function ShowMe(rst As ADODB.Recordset)
    Set m_rst = rst
    Me.Show vbModal
End Function
Private Sub cmdClose_Click()
    m_rst.UpdateBatch
    Unload Me
End Sub
0
0 / 0 / 0
Регистрация: 19.09.2007
Сообщений: 118
10.04.2008, 16:34  [ТС]
Спасибо большое. Я обязательно попробую переделать.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
10.04.2008, 16:34
Помогаю со студенческими работами здесь

Почему не обновляется статья в БД?
Здравствуйте, не могу понять почему не обновляется статья в БД. Обработчик формы: <?php include './blocks/db.php'; ...

Почему не обновляется таблица?
Где тут ошибка, или может чего не хватает? void __fastcall TForm1::Button10Click(TObject *Sender) { //Обновление таблицы Obraz ...

Почему не обновляется DataGrid?
У меня есть DataGrid, в нем число колонок задается из коллекции. После нажатия на кнопку коллекция изменяется. Поставила точку остановки -...

Почему не обновляется контент (SSE)?
<? include "../php/connect.php"; header("Content-Type: text/event-stream\n\n"); $query = mysqli_query($link, "SELECT msg from...

Почему после отправки формы, страница обновляется ?
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta name="viewport"...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Новые блоги и статьи
Жизнь в неопределённости
kumehtar 23.03.2026
Жизнь — это постоянное существование в неопределённости. Например, даже если у тебя есть список дел, невозможно дойти до точки, где всё окончательно завершено и больше ничего не осталось. В принципе,. . .
Модель здравоСохранения: работники работают быстрее после её введения.
anaschu 23.03.2026
geJalZw1fLo Корпорация до введения программа здравоохранения имела много невыполненных работниками заданий, после введения программы количество заданий выросло. Но на выплатах по больничным это. . .
1С: Контроль уникальности заводского номера
Maks 23.03.2026
Алгоритм контроля уникальности заводского (или серийного) номера на примере документа выдачи шин для спецтехники с табличной частью. Данные берутся из регистра сведений, по которому настроено. . .
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru