关闭

ObjectDataSource在 insert、Delete、Updated时取得AffectedRows

744人阅读 评论(0) 收藏 举报
      在使用object datasource连接数据库进行CRUD,希望回传影响行数。
不论是用object datasourceInsert()或是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
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:5522次
    • 积分:143
    • 等级:
    • 排名:千里之外
    • 原创:8篇
    • 转载:0篇
    • 译文:0篇
    • 评论:1条
    文章存档
    最新评论