Click here to Skip to main content
11,493,948 members (68,727 online)
Rate this: bad
Please Sign up or sign in to vote.
See more: VB.NET
I facing Problem on pass the Parameter on WHERE Clause IN On VB.NET site
I have a Function below:

Public Function getProjectDS(ByVal ProjectID As String) As DataSet
Dim cmd As New SqlCommand
cmd.Connection = con
cmd.CommandText = "SELECT * FROM Project WHERE ProjectID IN (@ProjectID)"
cmd.Parameters.Add("@ProjectID", SqlDbType.VarChar).Value = ProjectID
Dim ds As New DataSet
Dim da As New SqlDataAdapter(cmd)
Return ds
End Function

I like to get list Project Detail as in MSSQL Query as below:
SELECT * FROM Project WHERE ProjectID IN ('PFP','PSB','PSK')

I can not get same result as MSSQL Query if i use Function getProject("PFP,PSK,PSB")
just get nothing.
But if i use Function getProject("PFP") it only get me Project On ProjectID PFP Details.

I needed to help on Passing parameter ON WHERE CLAUSE IN On Site
Posted 11-Nov-12 18:01pm

1 solution

Rate this: bad
Please Sign up or sign in to vote.

Solution 1

You can't do that. What you actually sent to the SQL server was this:
SELECT * FROM Project WHERE ProjectID IN ("'PFP', 'PSB', 'PSK'")
You didn't send a list of items, you sent a single string. Essentially the same as sending

You can't directly send a list to SQL Server in the IN clause. Read this[^] for a possible alternate method.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Sergey Alexandrovich Kryukov 448
1 Nakul Chaudhari 240
2 OriginalGriff 225
3 F-ES Sitecore 219
4 CPallini 215
0 Sergey Alexandrovich Kryukov 10,237
1 OriginalGriff 8,730
2 Sascha Lefèvre 3,664
3 Maciej Los 3,392
4 Richard Deeming 2,500

Advertise | Privacy | Mobile
Web01 | 2.8.150520.1 | Last Updated 11 Nov 2012
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100