Run A SQL Query With A List Of String Values Using The "WHERE [columnname] IN [values]" Format?
Mar 11, 2011
I have a SQL query I'm running in an ASP.NET page. The final parsed SQL needs to contain a list of string values in the WHERE [columnname] IN [values] format. For example, the final query might look something like this:
SELECT PRODUCTNAME FROM PRODUCT WHERE PRODUCTCODE IN ('ABC','DEF','GHI','JKL', /* etc */);
However, the string values in the WHERE clause need to be dynamic. Normally I use parametrized queries to make my code convenient and safe, so conceptually I'd like to do something like this:
String[] productCodes = { "ABC", "DEF", "GHI", "JKL" };
SqlCommand cmd = "SELECT PRODUCTNAME FROM PRODUCT WHERE PRODUCTCODE IN (@ProductCodes)";
cmd.Parameters.Add("@ProductCodes", productCodes);
However, this sort of functionality doesn't appear to exist in .NET. How should I go about implementing this? I could use a foreach loop on the array and run a query with a single value as a parameter for each value, but there could potentially be a hundred or so different values in the array and it seems like querying them separately would be very inefficient.
I've read another question where someone suggested a solution for strongly-typed int parameters, but that method would make me nervous about SQL injection when used with String values, especially since the client may very well be able to influence the input values.
I am trying to set up a page that has two behaviors. I'm seperating them by URL: One behavior is accessed via /some-controller/some-action, the other is via /some-controller/some-action?customize. It doesn't look like the Request.QueryString object contains anything, though, when I visit the second URL...I mean, the keys collection has one element in it, but it's null, not 'customize'. Anyone have any ideas about this or how to enable this. I'd like to avoid manually parsing the query string at all costs :).
i dont understand where is the problem with my code. i need to pass the request_id to another page but it is always passing the integer values as 0. whenever it comes to pass integer values it is passing it as 0 even if i perform conversion of string to int.
I'm using parameterized sql query to get data from database
string query = "Select * from employee where employee_city in (@value)";
strign city ="'NewDelhi','Bangalore','Mumbai'";
I'm using following code to achive this
[code]...
But this is not giving the result. If run the query in SQLServer query window as "Select * from employee where employee_city in ('NewDelhi','Bangalore','Mumbai')", records are there.
But the same query will not return any records from ADO.Net.
I have a page that lists products from a table based on the querystring. So if I say foo.aspx?fam=1 all the products from family 1 will be listed. How can I make my code list all the values if query string is empty? My SQL command would have to be different...can't really see how I can do this.
i am working on a web form. now i am opening a pop up window using window.open. Now i want to send the id to that new window. the link button is in my Data list view so that my code is something like this:
I'm trying to implement URL Rewriting into my existing application and have managed to get the page and links working except that my destination page does not get the query string values.Mycde is based on the example below: http://dotnetguts.blogspot.com/2008/07/url-rewriting-with-urlrewriternet.htmlBasically I have a default.aspx page with links to another page; directory_item.aspx?Item_Id=1&Category_Id=1 directory_item.aspx?Item_Id=2&Category_Id=1 and so on... The code in my web config is as follows;
Append Query String Parameter Values in Current URL.
I have added Hyperlink in data list.which is Bind with their Respective data.When I Click that Hyperlink it Will Pass Url like this.
Area_id,Cuisine_Id and Veg_Id Bind in Datalist
[URL]
I want to Built a Filter Page Which Includes Area_id, Cuisine_Id and Veg_Idso when i Click to Hyperlink of Area then url like this. [URL] And then After i click to hyperlink of Cuisine then URL Like this.
[URL]
Similar Way
[URL]
So Basically I want Filter Data With Clickable query Strings Parameter Values
Problem : How can i Make Url Like this and it is Dynamic
I have a query string which contains the value of more than one Array, I want to pass these values from Page 1 to Page 2 and then distribute the array values into new arrays on Page 2.
Here is what I have so far.
Page 1
[Code]....
[Code]....
Page 2
[Code]....
All that I get returned in EFFinal and IFFinal is System.String?
I have a table called 'Customer' that contains customer information. One of the fields is named "CustomerType". Each record in the 'Customer' table will contain the value of either "C", "I", or "O".
I have a form that contains a "check box list" named "Type". There are 3 values in the "check box list". The values are "C", "I", and "O". The user can select one or more of these values. I have a button on the form named "btnRunQuery.
When the user clicks on the button "btnRunQuery" I want to exectute a query that selects the records contained in the "Customer" table where the value in the field "CustomerType" equal the values the user selected in the "check box list". Example: If the user selected "C" and "O", then I want the select query to select all records that contain either "C" or "O" in the field "CustomerType".
I assume that what I need to do is to capture the values that the user selected in the "check box list" and put them in a variable. Then I need to format the "Where" statement in the query and add a "Parameters.AddWithValue" command.
I am trying to get my head around the ASP timer control. What I am trying to achieve is to get a page to reload every 60 seconds but change the url querystring everytime between 3 values
i.e. scroll through server/page.aspx?value=1 server/page.aspx?value=2 server/page.aspx?value=3
how I have though to do this is to use ASP code to grab the querystring value, and then create the next url. But I am having trouble passing that newly created url to a refresh control. im guessing HTML meta refresh is out of the question as I am using a variable. So from what I can see my option is to use the ASP timer control to count down (after the page has loaded) and after 60seconds load the next url.
I am creating a string that is a list of comma-delimitted values by looping through the selections in a CheckBoxList.I am able to display this value, so I know that it is creating what I expect. I am attempting to pass this list to an IN statment in a SELECT query:
[code]...
However,I do not understand when this would be converted to an INT. I have tried many different formatting attempts (such as encapsulating the string in parenthesis (e.g. "(4,5)" ) for the SELECT query, but I have yet to find the right one to make this work. It seems like formatting is the problem, but perhaps I am missing something else.
I am getting int values from the stored procedure. But when i bind this datasource with the gridview i am seeing the values being converted into float. i am using Text='<% # Bind("Quantity") %' I wanna that to be displayed as int, with out zero'seg: let the value be 233, when i bind that its getting displayed as 233.00
Is it possible to select values from a List, where the items contain in a different list aswell?for example;
[Code]....
What I need are all the items from the first list "Items", where the string contains something from the second list "List".So I need something which returns the first 3 items (which contain the term "Item") from the first list.
How to return values from Webmethod to the client in JSON format? There are two static int values that i want to return.Do I need to create new object with those 2 properties and return it?The GetStatus() method is called frequently and i don't like the idea of creating a special object each time just for json formatting...
[WebMethod] public static int GetStatus() { int statusProcess,statusProcessTotal; Status.Lock.EnterReadLock(); statusProcess=Status.Process; //Static field statusProcessTotal=Status.ProcessTotal; //Static field Status.Lock.ExitReadLock(); return ... } On client side I catch the return value in : function OnSucceeded(result, userContext, methodName) (PageMethods.GetStatus(OnSucceeded, OnFailed);)
All the date values on my website (whether from DB or returned by DateTime.Now) are represented in the format of mm/dd/yyyy hh:mm:ss AM/PM, even though the database values of the dates are not that way at all.I want to change the format of all the dates to dd/mm/yyyy hh:mm:ss without AM/PM.
I have alot of query strings on one of my seartch pages. The problem is that even if the corsponding setting is not set by the enduser it will be visible in the URL. Is there a way to avoid this?
In this case the Controller actions take an object of the following class :
[Code]....
Is it possible to avoid setting all the values in the URL when it is the default values that are used?