Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Adodc+TrueDBGrid, проблемы с обновлением / 14 сообщений из 14, страница 1 из 1
29.08.2007, 14:54
    #34761715
Andersson
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Adodc+TrueDBGrid, проблемы с обновлением
Люди нид хелп! Почему-то корректно перестало работать обновление, т.е. в таблицу БД добавляются данные из текстбокса(событие по нажатию кн.сохранить), по нажатию на эту кнопку в конце обработки события вызывался метод refresh и грид обновлялся(показывались новые записи), а сейчас нет!!! В чем может быть проблема?
...
Рейтинг: 0 / 0
29.08.2007, 14:57
    #34761725
Andersson
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Adodc+TrueDBGrid, проблемы с обновлением
Раньше данные были связаны в Design, сейчас пробовал связывать как в run-time так и в design.
...
Рейтинг: 0 / 0
29.08.2007, 15:00
    #34761749
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Adodc+TrueDBGrid, проблемы с обновлением
Надо бы код свой показать
...
Рейтинг: 0 / 0
29.08.2007, 15:05
    #34761769
Andersson
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Adodc+TrueDBGrid, проблемы с обновлением
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
    rs.Open sql, Dbase.conn, adOpenDynamic, adLockBatchOptimistic
    rs.Find "ID_Staff=" & CInt(Label2.Caption)
    If rs.EOF = False Then
            MsgBox "Запись существует.", vbExclamation, app.title
            Exit Sub
    Else
        On Error GoTo err
        With rs
            .AddNew
            .Fields("ID_Staff").Value = CInt(Label2.Caption)
            .Fields("fname").Value = First_name
            .Fields("LastName").Value = Last_name
            .Fields("Post").Value = CInt(cmbPostID.Text)
            .Fields("Work").Value = true
            .UpdateBatch
        End With
    End If
    
    Set rs = Nothing
    
    On Error Resume Next
    bmrk = Adodc1.Recordset.Bookmark
    Adodc1.Refresh: TDBGrid1.Refresh
    If bmrk <> Adodc1.Recordset.Bookmark Then Adodc1.Recordset.Bookmark = bmrk 
...
Рейтинг: 0 / 0
29.08.2007, 15:22
    #34761871
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Adodc+TrueDBGrid, проблемы с обновлением
AnderssonРаньше данные были связаны в Design, сейчас пробовал связывать как в run-time так и в design.Я так понимаю, раньше контролы привязывались к этому Adodc, а теперь к другому рекордсету открытому отдельно. Ну конечно Refresh-а тут недостаточно. Надо делать rs.Requery : Grid.Rebind.
А вообще, стоило бы использовать клонак рекордсета из Adodc.
...
Рейтинг: 0 / 0
29.08.2007, 15:26
    #34761888
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Adodc+TrueDBGrid, проблемы с обновлением
И выкинуть ADODC вообще.
...
Рейтинг: 0 / 0
29.08.2007, 15:27
    #34761891
Andersson
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Adodc+TrueDBGrid, проблемы с обновлением
Нет, данные добалялись в отдельном рекордсете, а адошка была связана с гридом, и максимум что с ней делали, это накладывали фильтр. Так самое интересное, что если выполнять пошагово или скажем на кнопку назаначить refresh и через секунду нажать, то новые данные появляются!
...
Рейтинг: 0 / 0
29.08.2007, 15:30
    #34761908
Andersson
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Adodc+TrueDBGrid, проблемы с обновлением
Избавление от адошки тот же эффект!
...
Рейтинг: 0 / 0
29.08.2007, 15:31
    #34761912
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Adodc+TrueDBGrid, проблемы с обновлением
Anderssonкнопку назаначить refresh и через секунду нажать, то новые данные появляются!В таких случаях транзацкия помогает. А адошку действительно надо выбросить из кода - зачем она вам если все равно все в коде делается?
...
Рейтинг: 0 / 0
29.08.2007, 15:35
    #34761938
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Adodc+TrueDBGrid, проблемы с обновлением
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
    rs.Open sql, Dbase.conn, adOpenStatic, adLockBatchOptimistic
' adOpenDynamic, adLockBatchOptimistic - бессмысленная комбинация
    rs.Find "ID_Staff=" & CInt(Label2.Caption)'А это - лишнее
'Надо открывать так: rs.Open "SELECT ... WHERE ID_Staff = " & ...
    If rs.EOF = False Then
            MsgBox "Запись существует.", vbExclamation, app.title
            Exit Sub
    Else
        On Error GoTo err
DBase.Conn.Begintransaction
        With rs
            .AddNew
            .Fields("ID_Staff").Value = CInt(Label2.Caption)
            .Fields("fname").Value = First_name
            .Fields("LastName").Value = Last_name
            .Fields("Post").Value = CInt(cmbPostID.Text)
            .Fields("Work").Value = true
            .UpdateBatch
DBase.Conn.Committransaction
        End With
'....
err:
DBase.Conn.Rollbacktransaction
...
Рейтинг: 0 / 0
29.08.2007, 15:57
    #34762051
Andersson
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Adodc+TrueDBGrid, проблемы с обновлением
Бред!!! Выдает ошибку "Отсутствует значение для одного или нескольких требуемых параметров!!!!", причем если скопировать в Access все работает.
Код: plaintext
1.
2.
3.
4.
sql = "Insert into Staff_table(ID_Staff, Fname, LastName, Post, Work)" _
& " Values(" & CInt(Label2.Caption) & ",'" & First_name & "','" & Last_name & "'," & CInt(cmbPostID.Text) & "," & False & ")"
conn.BeginTrans
conn.Execute sql
conn.CommitTrans
...
Рейтинг: 0 / 0
29.08.2007, 16:05
    #34762100
Worobjoff
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Adodc+TrueDBGrid, проблемы с обновлением
Значит, есть not null поля со значениями по-умлочанию.
...
Рейтинг: 0 / 0
29.08.2007, 16:11
    #34762143
Andersson
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Adodc+TrueDBGrid, проблемы с обновлением
С чего начиналась проблема, тем и закончилась, вернулся к тому исходнику с которого началась вся эта проблема, F5, и... не поверишь - работает все!!! Я в недоумении, нифига не могу понять!!!
...
Рейтинг: 0 / 0
29.08.2007, 16:17
    #34762167
Andersson
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Adodc+TrueDBGrid, проблемы с обновлением
Вобщем пришел к такому выводу: записи не отображаются только если их добавлять в пустую табличку! М-дааа, офигеть блин!
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Adodc+TrueDBGrid, проблемы с обновлением / 14 сообщений из 14, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]