Должен ли я использовать параметры с обновлением ObjectDataSource? - PullRequest
0 голосов
/ 26 августа 2009

У меня есть бизнес-объект, который я использую, который имеет множество свойств и метод Save, который вставляет / обновляет базу данных. Метод сохранения НЕ является состоянием, поэтому объект должен быть создан, а свойства для обновления / вставки БД извлекаются из объекта.

Теперь я пытаюсь привязать объект к FormView с помощью ObjectDataSource. У меня это работает, поэтому он создает экземпляры на основе параметра QueryString, без проблем, и заполняет текстовые поля просто отлично. UpdateMethod Я установил функцию сохранения. Теперь он застрял.

Кажется, что ObjectDataSource нужен метод со всеми полями / свойствами / текстовыми полями в качестве параметров. Я бы подумал, что он обновит свойства объекта и затем вызовет функцию сохранения без параметров. Это желаемое за действительное?

Теперь мне нужно изменить мою функцию Save, чтобы она включала параметры, и изменить все случаи, когда она привыкает к этому новому методу, по этой причине?

Спасибо Шон

1 Ответ

1 голос
/ 26 августа 2009

К сожалению, для этого нужны параметры.

Я перегрузил свои методы вставки / обновления, чтобы включить несколько параметров. Присоедините ObjectDataSource к методу с параметрами.

Перегруженный метод Update вызывает оригинальный метод Update, сохраняющий все данные. Мне это кажется хакерским, но это работает.

        Public Sub Update()
        Dim isUpdated As Boolean = False

        sql = "UPDATE AudioFiles SET Title = @Title, [desc] = @desc, Active = @Active WHERE fileID = @fileID"
        conn = New SqlConnection(connString)
        conn.Open()

        ...

    End Sub

    Public Sub Update(ByVal upFileID As Integer, ByVal upTitle As String, ByVal upDesc As String, ByVal upActive As Boolean)
        Dim isUpdated As Boolean = False
        Dim audioFile As New AudioFiles(fileID)

        If Len(upTitle) > 0 Then
            _title = title
        End If

        ...  

       audioFile.Update()

    End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...