Avatar billede reg Nybegynder
07. marts 2005 - 21:44 Der er 2 kommentarer

Timer skal reflektere ændringer i databasen vist i et datagrid

Hej Eksperter!

Jeg har et datagrid der bliver fyldt med data fra en Access database. Da applikationen skal køre på flere arbejdsstationer som skal bruge den samme database, vil jeg gerne have den til at opdatere mit datagrid f.eks. hvert 2. sekund med nye data fra databasen. Det lader til at virke fint hvis jeg manuelt kører refreshDataGrid() med en knap, men hvis jeg sætter refresDataGrid() til at blive udført hvert andet sekund med en timer, så går programmet ned og jeg får flg.:

"Der opstod en ikke-afviklet undtagelse i programmet."

An unhandled exception of type 'System.ArgumentException' occured in system.windows.forms.dll
Additional information: Kolonnen 'serviceID' tilhører ikke tabellen service.


Se nedenstående kode:

---

Private timer As New System.Timers.Timer(2000)

Public Sub TimerFired(ByVal sender As Object, ByVal e As System.Timers.ElapsedEventArgs)
  refreshDataGrid()
End Sub

Form1_Load(...
  timer.Enabled = True
  timer.AutoReset = True
...
End Sub

Private Sub refreshDataGrid()
  Dim command_builder As New OleDbCommandBuilder(m_DataAdapter)
  m_DataAdapter.Update(m_DataSet)
  RichTextBox1.Clear()
  m_DataSet = New DataSet
  m_DataSet.Clear()
  m_DataAdapter.Fill(m_DataSet, "service")
  DataGrid1.DataSource = m_DataSet.Tables(0)
  DataGrid1.DataSource = m_DataSet.Tables("service")
  DataGrid1.ResetBindings()
  DataGrid1.Refresh()
  DataGrid1.Update()
End Sub

Håber der er hjælp at hente.

Hilsen Reg
Avatar billede jokkejensen Novice
07. marts 2005 - 22:34 #1
Timer skod = new Timer();
            skod.Interval = 5000;
            skod.Enabled = true;
            skod.Tick(refreshDataGrid());

opretter du overhovedet den timer ? .. mit kode er godt nok C#... men læs lidt mere om det her :


http://www.vbdotnetheaven.com/Code/Jun2003/2084.asp
Avatar billede burningice Nybegynder
10. marts 2005 - 15:03 #2
han laver skam timeren lige her: Private timer As New System.Timers.Timer(2000)

kommer fejlen første gang timeren prøver at udføre refreshDataGrid() eller er det ligepludselig efter et stykke tid?
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester