Can someopne help me on how to update a record using stored procedures & vb6? my code below doesnt work. instead of updating the record it adds new record. I cnt understand y?

VB Code:
  1. CREATE PROCEDURE [dbo].[sp_update]  @TestID bigint, @First_Name varchar (50), @Middle_Name varchar(50), @Family_Name varchar(50) AS
  2.  
  3. UPDATE    tblTest
  4. SET             tblTest.FirstName = @First_Name, tblTest.MiddleName = @Middle_Name, tblTest.FamilyName = @Family_Name
  5. WHERE     (tblTest.TestID = @TestID)
  6. GO
VB Code:
  1. Private Function UpdateRecordset(mRecNO As Long)
  2.  
  3. Dim sp_updateRec As ADODB.Command
  4. Dim db As New ADODB.Connection
  5. Dim pr_update(4) As Variant
  6. Dim objParam As Long
  7.  
  8. db.Open myDB
  9. db.CursorLocation = adUseClient
  10. Set sp_update = New ADODB.Command
  11. sp_updateRec.ActiveConnection = db
  12. sp_updateRec.CommandType = adCmdStoredProc
  13. sp_updateRec.CommandText = "sp_update"
  14.  
  15. '2nd solution
  16. Set objParam = sp_ShowRec.CreateParameter("TestID", adBigInt, adParamInput, 8, mRecNO)
  17. sp_updateRec.Parameters.Append objParam
  18.  
  19. sp_updateRec.Parameters.Append sp_updateRec.CreateParameter("@First_Name", adVarChar, adParamInput, 50, Text1.Text)
  20. sp_updateRec.Parameters.Append sp_updateRec.CreateParameter("@Middle_Name", adVarChar, adParamInput, 50, Text2.Text)
  21. sp_updateRec.Parameters.Append sp_updateRec.CreateParameter("@Last_Name", adVarChar, adParamInput, 50, Text3.Text)
  22.  
  23. sp_updateRec.Execute
  24.  
  25. db.Close
  26. Set db = Nothing
  27. Set sp_addnew = Nothing
  28.  
  29. End Function