I have been pulling my hair out on this.
I am trying to pass a binary value from an ASP.NET app to a VERY simple stored proc, and I can NOT get it to work!
Here is some of my code:
Code Snippet
ALTERPROCEDURE [dbo].[sp_SelectAppointments] @.PID VarChar(50)
AS
BEGIN
--set @.PID = 0x00000000000000B1
--PLEASE NOTE HERE THAT THE ABOVE VALUE(WHEN UNCOMMENTED) RETURNS RECORDS
--WHEN THE VALUE IS IN QUOTES (AS IT WOULD BE) IT DOES NOT WORK
SETNOCOUNTON;
SELECT Appt_Date, Appt_Description, Rn_Appointments_Id
FROM Rn_Appointments
WHERE project = @.PID --Project is a binary field.
END
I created a Dataset in VS2005, and here is the code that passes the value to the Dataset:
Code Snippet
Dim PID As String = Request.QueryString("pid")
PID = "0x00000000000000B1"
Dim da2 AsNew sp_SelectAppointmentsTableAdapter
GridView1.DataSource = da2.GetData2(PID)
GridView1.DataBind()
What am I missing? Can anybody please help me out here?
Thank you.
Steve
You are capturing the incoming parameter as varchar() and they attempting to equate a varchar() to a binary in the WHERE clause filter.
Have you attempted with a binary input parameter datatype?
Or, convert the parameter to binary inside the procedure?
ALTERPROCEDURE [dbo].[sp_SelectAppointments] @.PID binary
or
WHERE project = cast( @.PID as binary )
No comments:
Post a Comment