vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Schützen Sie Ihre Software vor Software-Piraterie - mit sevLock 1.0 DLL!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

ActiveX-Programmierung
erster ActiveX exe Versuch 
Autor: Rabe
Datum: 08.01.04 13:50

Hallo zusammen,

ich habe da mal eine Frage.
Ich möchte in einer ActiveX exe oder dll ständig eine Datenbank überwachen. D.h. ich schaue in regelmäßigen Abständen in eine Tabelle ob sich dort was ändert. Dann möchte ich über einen event dem Client dies incl. Werte mitteilen.

Versucht habe ich es bereits
Inhalt des Moduls
Public cnAWDB As New ADODB.Connection
Public cmdsqlAWDB As New Command
Private Declare Sub Sleep Lib "kernel32" (ByVal gwMilliseconds&)
 
Public clientObj As Tools
 
Sub Main()
    SQLConnect
    Set clientObj = New Tools
    Do
        Sleep 2000
        clientObj.QueueAktualisieren
        DoEvents
    Loop
End Sub
 
Sub SQLConnect()
        With cnAWDB
            .CursorLocation = adUseClient
            .CommandTimeout = 100
            cmdsqlAWDB.CommandTimeout = 1000
            .ConnectionTimeout = 100
            .ConnectionString = "Provider=SQLOLEDB;" _
                    & "Initial Catalog=xyz;Data Source=DBServer; Uid=xxx;" & _
                    "pwd=xxx;"
        Debug.Print .ConnectionString
 
            .Open
            Set cmdsqlAWDB.ActiveConnection = cnAWDB
            cmdsqlAWDB.CommandType = adCmdText 
 
        End With
 
End Sub
Inhalt der Klasse
Event Queue(ByVal result As Variant)
 
Friend Sub QueueAktualisieren()
     cmdsqlAWDB.CommandText = "select name = sg.Description," & _
       "anzahl=sgrt.RouterCallsQNow " & _
    "FROM Skill_Group_Real_Time sgrt, Skill_Group sg  " & _
    "where sgrt.RouterCallsQNow > 0 " & _
    "and sg.Priority = 0 " & _
    "and sgrt.SkillTargetID = sg.SkillTargetID"
 
    Err.Clear
    Set rs = cmdsqlAWDB.Execute  ' Select ausführen
 
    If Not rs.EOF Then
        rs.MoveFirst
        RaiseEvent Queue(rs.Fields("anzahl") & " in " & rs.Fields("name"))
    End If
 
End Sub
Soweit funktioniert das auch allerdings hängt sich der Client auf. (also funktioniert es nicht
Instancing habe ich auf GlobalMultiUse eingestellt.

Wie mache ich es das der Client unabhängig vom Server arbeitet und nur durch einen Event unterbrochen wird???

Danke schon mal

cu
Ralph

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
erster ActiveX exe Versuch1.346Rabe08.01.04 13:50

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel