powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / обновления из грида в базу
25 сообщений из 60, страница 1 из 3
обновления из грида в базу
    #32525667
hmsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
заполняю ultragrid
Me.ultragrid.DataSource = Me.dataset.Tables("tabl")
затем в ячейках грида редактирую данные
потом делаю
BindingContext(dataset, "tabl").EndCurrentEdit()
OleDbDataAdapter1.Update(dataset)
dataset.AcceptChanges()
ничего в базе не обновляет ....

Dim OleDbDataAdapter1 As System.Data.OleDb.OleDbDataAdapter
Dim OleDbUpdateCommand1 As System.Data.OleDb.OleDbCommand
OleDbDataAdapter1.UpdateCommand = OleDbUpdateCommand1
OleDbUpdateCommand1.CommandText = "[NewSPUpdateCommand]"
OleDbUpdateCommand1.CommandType = System.Data.CommandType.StoredProcedure

что не так?
...
Рейтинг: 0 / 0
обновления из грида в базу
    #32525742
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
[src]BindingContext(dataset, "tabl").EndCurrentEdit()
MsgBox(dataset.HasChanges().ToString()) ' Что здесь возвращает HasChanges()?
OleDbDataAdapter1.Update(dataset)
dataset.AcceptChanges()
[src]
...
Рейтинг: 0 / 0
обновления из грида в базу
    #32525744
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очепятка:
Код: plaintext
1.
2.
3.
4.
BindingContext(dataset, "tabl").EndCurrentEdit()
MsgBox(dataset.HasChanges().ToString()) ' Что здесь возвращает HasChanges()?
OleDbDataAdapter1.Update(dataset)
dataset.AcceptChanges()
...
Рейтинг: 0 / 0
обновления из грида в базу
    #32525793
hmsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
true
...
Рейтинг: 0 / 0
обновления из грида в базу
    #32525809
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А это что возвращает:
Код: plaintext
1.
MsgBox(dataset.HasChanges(DataRowState.Modified).ToString())
...
Рейтинг: 0 / 0
обновления из грида в базу
    #32525830
hmsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тоже true
...
Рейтинг: 0 / 0
обновления из грида в базу
    #32525839
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Интересует структура обновляемой таблицы и код NewSPUpdateCommand.
...
Рейтинг: 0 / 0
обновления из грида в базу
    #32525895
hmsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в приложеном txt код хп
структура таблицы видна там же
...
Рейтинг: 0 / 0
обновления из грида в базу
    #32525911
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Архив битый, или чем вы запаковывали?
...
Рейтинг: 0 / 0
обновления из грида в базу
    #32525953
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понял что это обычный text. Только расширение zip для чего?

Видно много параметров к этой хранимой процедуре. Интересует код этих параметров на VB.NET.
Код: plaintext
1.
2.
OleDbUpdateCommand1.Parameters.Add(bla-bla-bla)
.........
...
Рейтинг: 0 / 0
обновления из грида в базу
    #32526089
hmsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Понял что это обычный text. Только расширение zip для чего?

я кладу обычный txt , пробовал скачать - качается тоже txt

вот код параметров
...
Рейтинг: 0 / 0
обновления из грида в базу
    #32526147
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первичный ключ = iduvsd ?
...
Рейтинг: 0 / 0
обновления из грида в базу
    #32526221
hmsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Первичный ключ = iduvsd ?
да
...
Рейтинг: 0 / 0
обновления из грида в базу
    #32526241
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так давайте попробуем следующее:
Код: plaintext
1.
2.
3.
4.
BindingContext(dataset, "tabl").EndCurrentEdit()
AddHandler OleDbDataAdapter1.RowUpdating, AddressOf OleDbDataAdapter1_RowUpdating ' Добавить эту строку
OleDbDataAdapter1.Update(dataset)
dataset.AcceptChanges()

Добавьте следующую процедуру:
Код: plaintext
1.
2.
3.
4.
5.
Public Sub OleDbDataAdapter1_RowUpdating(ByVal sender As Object, ByVal e As OleDbRowUpdatingEventArgs)
    Console.WriteLine(vbTab & "iduvsd = " & e.Row("iduvsd").ToString())
    Console.WriteLine(vbTab & "Original iduvsd = " & e.Row("iduvsd", DataRowVersion.Original).ToString())
    Console.WriteLine()
End Sub

Теперь запускаем и смотрим в Output что туда выходит при Update?
...
Рейтинг: 0 / 0
обновления из грида в базу
    #32526388
hmsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не заходит он в эту процедуру
...
Рейтинг: 0 / 0
обновления из грида в базу
    #32526414
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вы при этом что нибудь меняете в таблице?
...
Рейтинг: 0 / 0
обновления из грида в базу
    #32526455
hmsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в гриде меняю данные
и MsgBox(dataset.HasChanges(DataRowState.Modified).ToString()) дает true
может для грида какой метод нужен?
...
Рейтинг: 0 / 0
обновления из грида в базу
    #32526478
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробовать перед Update:
Код: plaintext
1.
2.
3.
4.
Dim modified As DataSet = dataset.GetChanges(DataRowState.Modified)
Console.WriteLine(modified.Tables( 0 ).TableName)
OleDbDataAdapter1.Update(dataset)
dataset.AcceptChanges()
...
Рейтинг: 0 / 0
обновления из грида в базу
    #32526509
hmsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ругается на Console.WriteLine(modified.Tables(0).TableName)
Object reference not set to an instance of an object.
...
Рейтинг: 0 / 0
обновления из грида в базу
    #32526527
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну ясно почему updating не срабатывает, только я не понимаю как
dataset.HasChanges(DataRowState.Modified) возвращает True, если

Dim modified As DataSet = dataset.GetChanges(DataRowState.Modified) // modified = Nothing - то есть обновлений нет.

Привидите еще раз полученный код.
...
Рейтинг: 0 / 0
обновления из грида в базу
    #32526538
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А лучше дойдите Debugом до Update. И в этот момент в Watch посмотрите:
modifed, dataSet.HasChanges(DataRowState.Modified)
...
Рейтинг: 0 / 0
обновления из грида в базу
    #32526546
hmsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
код ты мне на днях давал :)
по ссылке на пост и ниже видно как я это с твоей помощью сделал :)
/topic/63982#684095
...
Рейтинг: 0 / 0
обновления из грида в базу
    #32526558
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Нет меня сейчас интересует, все что до Update находиться
OleDbDataAdapter1.Update(dataset)
dataset.AcceptChanges()

Я все никак не могу въехать почему HasChanges говорит изменения модифицированных строк есть, а GetChanges говорит что нет.????
...
Рейтинг: 0 / 0
обновления из грида в базу
    #32526561
Sa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати пора думаю все эти топики собирать воедино. :-)

Ну и все таки хотелось бы посмотреть весь код завязанный с DataSet, иногда лишняя строка может все испортить.
...
Рейтинг: 0 / 0
обновления из грида в базу
    #32526601
hmsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
             
        Dim OleDbDataAdapter1 As System.Data.OleDb.OleDbDataAdapter
        Dim OleDbUpdateCommand1 As System.Data.OleDb.OleDbCommand
        Dim OleDbConnection1 As System.Data.OleDb.OleDbConnection
        OleDbDataAdapter1 = New System.Data.OleDb.OleDbDataAdapter
        OleDbUpdateCommand1 = New System.Data.OleDb.OleDbCommand
        OleDbConnection1 = New System.Data.OleDb.OleDbConnection

        OleDbDataAdapter1.TableMappings.AddRange(New System.Data.Common.DataTableMapping() {New System.Data.Common.DataTableMapping("Table", "uchveks", New System.Data.Common.DataColumnMapping() {New System.Data.Common.DataColumnMapping("iduvsd", "iduvsd"), New System.Data.Common.DataColumnMapping("iduveks", "iduveks"), New System.Data.Common.DataColumnMapping("perevod", "perevod"), New System.Data.Common.DataColumnMapping("idvekseldat", "idvekseldat"), New System.Data.Common.DataColumnMapping("seria", "seria"), New System.Data.Common.DataColumnMapping("number", "number"), New System.Data.Common.DataColumnMapping("datesost", "datesost"), New System.Data.Common.DataColumnMapping("mestosost", "mestosost"), New System.Data.Common.DataColumnMapping("idvalnom", "idvalnom"), New System.Data.Common.DataColumnMapping("nominal", "nominal"), New System.Data.Common.DataColumnMapping("procent", "procent"), New System.Data.Common.DataColumnMapping("datenprocent", "datenprocent"), New System.Data.Common.DataColumnMapping("idvpog", "idvpog"), New System.Data.Common.DataColumnMapping("datepog", "datepog"), New System.Data.Common.DataColumnMapping("mestpogash", "mestpogash"), New System.Data.Common.DataColumnMapping("avalist", "avalist"), New System.Data.Common.DataColumnMapping("idmesthran", "idmesthran"), New System.Data.Common.DataColumnMapping("idvveks", "idvveks"), New System.Data.Common.DataColumnMapping("prim", "prim"), New System.Data.Common.DataColumnMapping("fotoL", "fotoL"), New System.Data.Common.DataColumnMapping("fotoI", "fotoI"), New System.Data.Common.DataColumnMapping("fotoA", "fotoA"), New System.Data.Common.DataColumnMapping("datepok", "datepok"), New System.Data.Common.DataColumnMapping("dateopl", "dateopl"), New System.Data.Common.DataColumnMapping("dateprod", "dateprod"), New System.Data.Common.DataColumnMapping("datepost", "datepost"), New System.Data.Common.DataColumnMapping("idvalpok", "idvalpok"), New System.Data.Common.DataColumnMapping("cenapokA", "cenapokA"), New System.Data.Common.DataColumnMapping("cenapokB", "cenapokB"), New System.Data.Common.DataColumnMapping("idvalprod", "idvalprod"), New System.Data.Common.DataColumnMapping("cenaprodA", "cenaprodA"), New System.Data.Common.DataColumnMapping("cenaprodB", "cenaprodB"), New System.Data.Common.DataColumnMapping("doprash", "doprash"), New System.Data.Common.DataColumnMapping("doprashPR", "doprashPR"), New System.Data.Common.DataColumnMapping("idsd", "idsd"), New System.Data.Common.DataColumnMapping("bal", "bal"), New System.Data.Common.DataColumnMapping("idsdpr", "idsdpr"), New System.Data.Common.DataColumnMapping("datevRepo", "datevRepo"), New System.Data.Common.DataColumnMapping("cenRepo", "cenRepo"), New System.Data.Common.DataColumnMapping("vh", "vh"), New System.Data.Common.DataColumnMapping("vyh", "vyh"), New System.Data.Common.DataColumnMapping("vyhREPO", "vyhREPO"), New System.Data.Common.DataColumnMapping("vyhREPOc", "vyhREPOc"), New System.Data.Common.DataColumnMapping("bREPO", "bREPO"), New System.Data.Common.DataColumnMapping("tip", "tip"), New System.Data.Common.DataColumnMapping("bProved", "bProved"), New System.Data.Common.DataColumnMapping("byvidveks", "byvidveks")})})
        OleDbDataAdapter1.UpdateCommand = OleDbUpdateCommand1

        Dim frm As FormSpVeks = New FormSpVeks
            frm.AddVeks(dsNewSD)
            Me.ugVeks.DataSource = Me.dsNewSD.Tables("spVeks")
        BindingContext(dsNewSD, "spVeks").EndCurrentEdit()
        BindingContext(dsNewSD, "spVeks").EndCurrentEdit()
        MsgBox(dsNewSD.HasChanges(DataRowState.Modified).ToString())
        AddHandler OleDbDataAdapter1.RowUpdating, AddressOf OleDbDataAdapter1_RowUpdating ' Добавить эту строку
        Dim modified As DataSet = dsNewSD.GetChanges(DataRowState.Modified)
        Console.WriteLine(modified.Tables( 0 ).TableName)
        OleDbDataAdapter1.Update(dsNewSD)
        dsNewSD.AcceptChanges()
        Dim modified As DataSet = dsNewSD.GetChanges(DataRowState.Modified)
        Console.WriteLine(modified.Tables( 0 ).TableName)
        OleDbDataAdapter1.Update(dsNewSD)
        dsNewSD.AcceptChanges()
в вызванной форме
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
   Friend Function AddVeks(ByRef dsNewSD As Data.DataSet) As Boolean
        ShowDialog()
        Dim selRows As Infragistics.Win.UltraWinGrid.SelectedRowsCollection = ugSelVeks.Selected.Rows
        Dim dataRows(selRows.Count -  1 ) As System.Data.DataRow
        Dim i As Integer
        For i =  0  To selRows.Count -  1 
            dataRows(i) = CType(selRows(i).ListObject, DataRowView).Row
        Next
        dsNewSD.Merge(dataRows)
        Return True
    End Function
...
Рейтинг: 0 / 0
25 сообщений из 60, страница 1 из 3
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / обновления из грида в базу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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