【问题标题】:Must I use parameters with an ObjectDataSource update?我必须在 ObjectDataSource 更新中使用参数吗?
【发布时间】:2009-08-25 23:23:01
【问题描述】:

我有一个一直在使用的业务对象,它有一堆属性和一个 Save 方法,用于插入/更新数据库。保存方法不是状态,因此需要实例化对象,并从对象中提取数据库更新/插入的属性。

现在我正在尝试使用 ObjectDataSource 将对象绑定到 FormView。我让它工作,所以它基于 QueryString 参数实例化,没问题,并且很好地填充文本框。我已将 UpdateMethod 设置为 Save 功能。现在卡住了。

似乎 ObjectDataSource 需要一个将所有字段/属性/文本框作为参数的方法。我原以为它会更新对象的属性,然后调用无参数保存函数。这是一厢情愿吗?

出于这个原因,我现在是否需要更改我的保存函数以包含参数,并更改它习惯于这种新方法的所有实例?

谢谢 肖恩

【问题讨论】:

    标签: asp.net parameters objectdatasource


    【解决方案1】:

    不幸的是,它确实需要参数。

    我重载了插入/更新方法以包含一些参数。使用参数将 ObjectDataSource 附加到方法。

    重载的 Update 方法调用保存所有数据的原始 Update 方法。对我来说似乎有点 hackish,但它确实有效。

            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
    

    【讨论】:

      猜你喜欢
      • 2023-03-16
      • 2012-11-25
      • 1970-01-01
      • 2016-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-06-22
      • 2013-10-05
      相关资源
      最近更新 更多