ObjectDataSource在 insert、Delete、Updated时取得AffectedRows

原创 2007年09月29日 10:51:00
      在使用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()后取得影响行数。
 

相关文章推荐

SQL Server:触发器品读 -- Insert、 Delete、 Update(“updated ”是不存在的,不能想当然)

对于触发器,好长时间没怎么用;知道要用到几个特殊的表,比如:deleted 表和 inserted 表。我还一直以为里面应该还有个"updated "表。事实不是这样的。让大家见笑了。说实话,很少用。...

UPDATE/INSERT/DELETE 语句

  • 2013年11月22日 08:29
  • 1.9MB
  • 下载

针对MYSQL delete、update、insert语句误操作时的恢复办法

mysql 针对MYSQL delete、update、insert语句误操作(如update忘记加where条件) 目前还没有特别好的办法进行恢复,主要是根据binlog日志文件进行恢复,网上也有 ...

sql-insert-update-delete

  • 2009年05月26日 20:21
  • 431KB
  • 下载

当要在 Oracle 中之心批量 INSERT、UPDATE 和 DELETE 操作时,可以使用 FORALL 语句。比for loop效率高

==index_name:一个无需声明的标识符,作为集合下标使用; ==sql_statement:静态语句,例如:UPDATE或者DELETE;或者动态(EXECUTE IMMEDIATE)DML...

SQL trigger 当表格insert,delete 时触发记录历史数据

--建立測試表格 CREATETABLE [dbo].[WIPPrd](     [ProdNo] [varchar](16)NOTNULL,     [PnameD] [nvar...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ObjectDataSource在 insert、Delete、Updated时取得AffectedRows
举报原因:
原因补充:

(最多只允许输入30个字)