我使用的下列代码行基于ROWID更新记录: 这里dsmain,我使用的数据集....

对于j = 2〜AuditGrid.Rows - 1

        If AuditGrid.ActiveCell.Row = j And AuditGrid.ActiveCell.Col = ColMark Then
            Uvalue = Trim(AuditGrid.Cell(j, ColMark).Text)
            da.UpdateCommand = New OracleCommand("update audit01 set user" & Trim(User) & "='" & Trim(Uvalue) & "' where audit01.rowid='" & Trim(AuditGrid.Cell(j, ColWRowid).Text) & "'")
        End If
    Next

    da.Fill(DsMain, "AUDIT01")
    da.Update(DsMain, "AUDIT01")
    DsMain.AcceptChanges()

问题是,数据库不被更新。该怎么办?

有帮助吗?

解决方案

我已经使用的下列代码行,现在可完全正常...

如果AuditGrid.ActiveCell.Row> 0,则

        Uvalue = Trim(AuditGrid.Cell(AuditGrid.ActiveCell.Row, ColMark).Text)
        strQry = "update audit01 set user" & Trim(User) & "='" & Trim(Uvalue) & "' where rowidtochar( audit01.rowid)='" & AuditGrid.Cell(AuditGrid.ActiveCell.Row, ColWRowid).Text & "'"
        da = New OracleDataAdapter(strQry, con)
        da.Fill(DsMain)
        DsMain.AcceptChanges()
        MsgBox("Record Updated!!")
        AuditGrid.Range(AuditGrid.ActiveCell.Row, ColMark, AuditGrid.ActiveCell.Row, ColMark).DeleteByRow()
    End If
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top