puedes usar el exec te paso un ejemplo
vb net
dim Codigos as string
Codigos = ""
For Each row1 As DataGridViewRow In MIDATAGRID.Rows
If row1.Cells("MICHEKBOX").Value = True Then
'RECUPERO EL VALOR Y AUMENTOUNA COMA
Codigos = Codigos + RECUPEROELVALOR + ","
End If
Next
'TODA LA CADENA Y QUITO LA ULTIMA COMA
Codigos = Mid(Codigos, 1, Codigos.Length - 1)
PROCEDIMIENTO ALMACENADO
ALTER PROCEDURE [dbo].[sp_Programa]
@orden varchar(10)
AS
BEGIN
exec('select * from Orders
WHERE orderid IN ('+@orden+')')
end
go