如何将计时器与我的功能相关联?

时间:2012-03-08 07:33:25

标签: vb.net winforms

我正面临另一个问题。我想将一个计时器与我的功能联系起来。

实际上我正在做的是我试着将某些值存储在数据库中。一个函数是这样的,它计算5个值并将它们存储在数据库中。将它们存储在数据库中时,它会在表单的文本框中显示它们。现在我想逐一显示它们。但它做得如此之快,以至于我只能看到它在文本框内的数据库中输入的最后一个值。

我可以逐一慢慢地显示所有的值。

Private Sub dbInsert(ByVal strfile As String, ByVal hashoffile As String, ByVal p As Integer) 'parameter to the above function (ByVal strfile As String)

    DbConnection()
    cmd = "select * from hashtable"
    da = New OleDb.OleDbDataAdapter(cmd, con)
    da.Fill(ds, "values")
    maxrows = ds.Tables("values").Rows.Count

    TextBox1.Text = p + 1
    TextBox2.Text = hashoffile
    TextBox3.Text = strfile
    Dim cb As New OleDb.OleDbCommandBuilder(da)
    Dim dsnewrow As DataRow
    dsnewrow = ds.Tables("values").NewRow()
    dsnewrow.Item("p_id") = TextBox1.Text
    dsnewrow.Item("process_name") = TextBox2.Text
    dsnewrow.Item("hash_value") = TextBox3.Text
    ds.Tables("values").Rows().Add(dsnewrow)
    da.Fill(ds)
    da.Update(ds, "values")
    'MsgBox("new Item added to database")
    con.Close()
    'System.Threading.Thread.Sleep(1000)
End Sub

DbConnection() cmd = "select * from hashtable" da = New OleDb.OleDbDataAdapter(cmd, con) da.Fill(ds, "values") maxrows = ds.Tables("values").Rows.Count TextBox1.Text = p + 1 TextBox2.Text = hashoffile TextBox3.Text = strfile Dim cb As New OleDb.OleDbCommandBuilder(da) Dim dsnewrow As DataRow dsnewrow = ds.Tables("values").NewRow() dsnewrow.Item("p_id") = TextBox1.Text dsnewrow.Item("process_name") = TextBox2.Text dsnewrow.Item("hash_value") = TextBox3.Text ds.Tables("values").Rows().Add(dsnewrow) da.Fill(ds) da.Update(ds, "values") 'MsgBox("new Item added to database") con.Close() 'System.Threading.Thread.Sleep(1000) End Sub

1 个答案:

答案 0 :(得分:0)

  1. 向表单添加计时器控件
  2. 将代码(检索数据和显示数据)移至Timer Controls tick event
  3. 根据需要设置计时器控件Interval属性,使其显示缓慢的值。
  4. 致电TIMERCONTROLNAME.Enabled = True以启动计时器。