Solved

i want to create query from string array , but how can i do this ?

Posted on 2011-02-21
10
389 Views
Last Modified: 2012-05-11
string[] resultArray = new string[3];
resultArray[0] = "Option Selected 1a"
resultArray[1] = "Option Selected 2a"
resultArray[2] = "Option Selected 3d"

now i want to create query using for loop from this result array
ex.
select a from answers where ansid = 1;

in query a and ansid , i have to get it from resultarray ..

now how can i do this ??
0
Comment
Question by:Parth48
10 Comments
 
LVL 3

Expert Comment

by:imaki06
ID: 34949141
Is this what you are looking for (LINQ):
string[] resultArray = new string[3];
resultArray[0] = "Option Selected 1a"
resultArray[1] = "Option Selected 2a"
resultArray[2] = "Option Selected 3d"

//look for values where number 1 is contained
IEnumerable<string> resQry = From a In resultArray Where a.indexOf('1')>-1;

Open in new window


0
 
LVL 19

Expert Comment

by:Manoj Patil
ID: 34949151
Hi check this one this will help you

Strring query ="select a from answers where ansid =";
for ( int cnt = 0; cnt < resultArray .Length; cnt++)
            {
                con.Open();
Strring query ="select a from answers where ansid ="+resultArray [cnt].ToString();
                cmd1 = new SqlCommand(query, con);
                cmd1.ExecuteNonQuery();
                con.Close();
            }
0
 
LVL 10

Expert Comment

by:John Claes
ID: 34949343
If you want 1 Query and cannot use LINQ
(Linq is prefered)


Strring query ="select a from answers where ";
String where="";
for ( int cnt = 0; cnt < resultArray .Length; cnt++)
{
     if (i>0)
     {
          where=where+" OR ";
     }
     where=where + " ansid = " + resultArray[ cnt ].ToString();
}

sqlConection.Open();
SqlCommand sqlCommand = new SqlCommand(query + where, con);
sqlCommand.ExecuteNonQuery();
sqlConection.Close();
0
 

Author Comment

by:Parth48
ID: 34949461
hello @imaki06: -

ur suggestion is right and i doing it but how can i use that IEnumerable<string> ??

can u please tell me via example ??

so i can understand it better and use it in future ....
0
 
LVL 3

Expert Comment

by:imaki06
ID: 34949504
Oh yes, this should be enough:

string[] resultArray = new string[3];
resultArray[0] = "Option Selected 1a"
resultArray[1] = "Option Selected 2a"
resultArray[2] = "Option Selected 3d"

//look for values where number 1 is contained
IEnumerable<string> resQry = From a In resultArray Where a.indexOf('1')>-1;

foreach (string result in resQry)
{
  Console.WriteLine(result);
}

Open in new window

0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 3

Expert Comment

by:imaki06
ID: 34949559
If you want to cast that resQry to an Array. You could try something like this:

String[] qryArray= resQry.ToArray();
0
 

Author Comment

by:Parth48
ID: 34949564
IEnumerable<string> resQry = From a In resultArray Where a.indexOf('1')>-1;

i got error in the above line , i include System.linq but still i got the error ??
0
 
LVL 3

Expert Comment

by:imaki06
ID: 34949576
Do you include:
System.Collections.Generic

What kind of an error?
0
 
LVL 3

Accepted Solution

by:
imaki06 earned 500 total points
ID: 34950111
There were some bugs with the casing of the letters, try this:

IEnumerable<string> resQry = from a in resultArray where a.IndexOf('1') > -1 select a;
0
 

Author Comment

by:Parth48
ID: 34950775
Thanks @imaki06:

it's work
 
0

Featured Post

Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
Limiting string to two deciamls 18 32
ConsoleSql 1 14
Asp.net mvc 5 5 16
Achieve json result 2 29
IntroductionWhile developing web applications, a single page might contain many regions and each region might contain many number of controls with the capability to perform  postback. Many times you might need to perform some action on an ASP.NET po…
Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!
Illustrator's Shape Builder tool will let you combine shapes visually and interactively. This video shows the Mac version, but the tool works the same way in Windows. To follow along with this video, you can draw your own shapes or download the file…
Access reports are powerful and flexible. Learn how to create a query and then a grouped report using the wizard. Modify the report design after the wizard is done to make it look better. There will be another video to explain how to put the final p…

707 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now