Skip to main content

Articles

News

Windows Mobile Developer Controls
Windows Mobile Developer Controls

An overview of SQL Replication options

Written by Jarick Rager  [author's bio]  [read 89172 times]
Edited by Derek

Download the code

Page 1  Page 2  Page 3  Page 4  Page 5  Page 6  Page 7 

spGetContactConflictByContactID

CREATE PROCEDURE [dbo].spGetContactConflictByContactID
@ContactID UNIQUEIDENTIFIER
AS

SELECT
ContactID,
FirstName,
MiddleName,
LastName,
Notes,
origin_datasource
FROM
conflict_ContactManager_Contact AS Contact
WHERE
ContactID = @ContactID
RETURN
GO

spResolveContactConflict

CREATE PROCEDURE [dbo].spResolveContactConflict
@ContactID UNIQUEIDENTIFIER,
@FirstName VARCHAR(50),
@MiddleName VARCHAR(50),
@LastName VARCHAR(50),
@Notes VARCHAR(1024)
AS

/* Update Contact Table */
UPDATE Contact
SET
FirstName = @FirstName,
MiddleName = @MiddleName,
LastName = @LastName,
Notes = @Notes
WHERE
ContactID = @ContactID

/* Delete row from Conflict Table */
DELETE FROM conflict_ContactManager_Contact
WHERE ContactID = @ContactID

RETURN
GO

Appendix H: frmMain (Laptop) Interface

Private Sub Form_Load()
Call GetConflicts()
End Sub

Private Sub grdConflicts_DblClick()
'Code to instantiate the connection,
'recordset, etc has been omitted
'In this function we create two recordsets:
'one for the current winner
'of the conflict and one for the current loser

'Winner is obtained by calling the
'spGetContactByContactID stored procedure
'Loser is obtained by calling the
'spGetContactConflictByContactID stored procedure
'We start here after both recordsets are returned
With grdConflictDetails

'First Name
Call .AddItem("First Name" & vbTab & _
rsWinner.Fields("FirstName").Value & vbTab & _
rsLoser.Fields("FirstName").Value & vbTab & _
rsWinner.Fields("FirstName").Value & vbTab & _
rsWinner.Fields("ContactID").Value & vbTab & _
rsLoser.Fields("ContactID").Value & vbTab & _
rsWinner.Fields("ContactID").Value & vbTab)

'Middle Name
Call .AddItem("Middle Name" & vbTab & _
rsWinner.Fields("MiddleName").Value & vbTab & _
rsLoser.Fields("MiddleName").Value & vbTab & _
rsWinner.Fields("MiddleName").Value & vbTab & _
rsWinner.Fields("ContactID").Value & vbTab & _
rsLoser.Fields("ContactID").Value & vbTab & _
rsWinner.Fields("ContactID").Value & vbTab)

'Last Name
Call .AddItem("Last Name" & vbTab & _
rsWinner.Fields("LastName").Value & vbTab & _
rsLoser.Fields("LastName").Value & vbTab & _
rsWinner.Fields("LastName").Value & vbTab & _
rsWinner.Fields("ContactID").Value & vbTab & _
rsLoser.Fields("ContactID").Value & vbTab & _
rsWinner.Fields("ContactID").Value & vbTab)

'Notes
Call .AddItem(gcsGRID_FIELD_CONTACT_NOTES & vbTab & _
rsWinner.Fields("Notes").Value & vbTab & _
rsLoser.Fields("Notes").Value & vbTab & _
rsWinner.Fields("Notes").Value & vbTab & _
"" & vbTab & _
"" & vbTab & _
"" & vbTab)
End With
End Sub

Private Sub GetConflicts()
'Code to instantiate the connection,
'recordset, etc has been omitted

'Call the spGetConflictSummary

'We start here with the recordset being returned
Dim i As Integer

i = 0
Do While Not (rs.EOF)
With rs
grdConflicts.AddItem(.Fields("DATE").Value & vbTab & _
.Fields("TABLE").Value & vbTab & _
.Fields("DESC").Value)
grdConflicts.RowData(i) = .Fields("GUID").Value
.MoveNext
i = i + 1
End With
Loop
End Sub

Private Sub ResolveContactConflict()
'Code to instantiate the connection,
'recordset, etc has been omitted
'Grab the values from the Resolution
' column and pass to the
' spResolveContactConflict
End Sub

Previous Page