ObjectDataSource在 insert、Delete、Updated时取得AffectedRows

    技术2022-05-11  77

          在使用 object datasource 连接数据库进行 CRUD , 希望回传影响行数。 不论是用 object datasource Insert() 或是 Delete() 还是抓取 e.AffectedRows 都是 -1, 但是数据库中的数据却正常的被删除或新增   Dim conn As New SqlConnection(ConnString)        Dim cmd As SqlCommand        Dim strInsertSQL As String        Dim intAffected As Integer = 0         'Insert Command        strInsertSQL = "INSERT INTO sys_symbol(type_id, symbol_id, symbol_name, symbol_value) "        strInsertSQL &= "VALUES (@type_id, @symbol_id, @symbol_name, @symbol_value) "         'Insert Parameters        cmd = New SqlCommand(strInsertSQL, conn)        cmd.Parameters.Add("@type_id", SqlDbType.VarChar, 10).Value = type_id        cmd.Parameters.Add("@symbol_id", SqlDbType.VarChar, 10).Value = symbol_id        cmd.Parameters.Add("@symbol_name", SqlDbType.VarChar, 255).Value = symbol_name        cmd.Parameters.Add("@symbol_value", SqlDbType.VarChar, 30).Value = symbol_value         Try            If conn.State <> ConnectionState.Open Then conn.Open()            intAffected = cmd.ExecuteNonQuery()        Catch exSQL As SqlException            My.Log.WriteException(exSQL)        Catch ex As Exception            My.Log.WriteException(ex)        Finally            cmd.Dispose()            conn.Close()            conn.Dispose()        End Try         Return intAffected     朋友们如碰到以上问题   以下步骤可以轻松解决——   在ObjectDataSource的Inserted、Updated和Deleted事件中,加入   e.AffectedRows = e.ReturnValue   就可以在使用ObjectDataSource.Insert()后取得影响行数。  

    最新回复(0)