题
我使用的下列代码行基于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
不隶属于 StackOverflow