开发者

Performance Problem in .Net compact framework

开发者 https://www.devze.com 2022-12-09 21:34 出处:网络
I cant understand why sending parameters to insert function works slow in .net compact framework. Forexample following code inserts within 2 seconds

I cant understand why sending parameters to insert function works slow in .net compact framework.

Forexample following code inserts within 2 seconds

    cn = New SqlCeConnection(strstring)
    cmd = New SqlCeCommand
    Dim rs As SqlCeResultSet
    cmd.Connection = cn
    cmd.CommandType = CommandType.TableDirect
    cn.Open()
    Dim rec As SqlCeUpdatableRecord
    Dim DB As New Db
    Dim a As Integer = 1
    Dim b As Integer = 2
    For i As Integer = 0 To 1000
        If i = 0 Then
            cmd.CommandText = "A"
            rs = cmd.ExecuteResultSet(ResultSetOptions.Updatable)
            rec = rs.CreateRecord()
        End If
        Try
            rec.SetValue(0, a)
            rec.SetValue(1, b)
            rs.Insert(rec
         Catch ex As Exception

        End Try


    Next

But when i send parameters, a and b,to a insert sub,this code completes within 13 seconds.What does performance decrease?

 cn = New SqlCeConnection(strstring)
    cmd = New SqlCeCommand
    Dim rs As SqlCeResultSet
    cmd.Connection = cn
    cmd.CommandType = CommandType.TableDirect
    cn.Open()
    Dim rec As SqlCeUpdatableRecord

    For i As Integer = 0 To 1000
        If i = 0 Then
            cmd.CommandText = "A"
            cmd.CommandType = CommandType.TableDirect
            rs = cmd.ExecuteResultSet(Resul开发者_Go百科tSetOptions.Updatable)
            rec = rs.CreateRecord()
        End If
        Try
            DB.Insert(1, 2, rs, rec)
        Catch ex As Exception

        End Try


    Next 

This is insert sub in db class

Public Class Db

Public Shared Sub Insert(ByVal a As Integer, ByVal b As Integer, ByRef rs As SqlCeResultSet, ByRef rec As SqlCeUpdatableRecord)
    Try
        rec.SetValue(0, a)
        rec.SetValue(1, If(b = String.Empty, DirectCast(DBNull.Value, Object), b))
        rs.Insert(rec)
    Catch ex As Exception

    End Try


End Sub

end class


I would check your installation carefully on the device. It's quite easy to get it mixed up. The new way to google for the product is SQL Server Compact.

As microsoft decides to change the name of everything in the mobile/CE space, it makes it impossible to search for help. Is it Windows CE, or Pocket PC, or Windows Mobile, or Phone 7? Is it SQL CE or Sql Server Compact "Arrgh"!

Maybe these links will help the next guy. MSDN Blog or this one Technet.

0

精彩评论

暂无评论...
验证码 换一张
取 消