Link to home
Start Free TrialLog in
Avatar of Parth48
Parth48Flag for India

asked on

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

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 ??
Avatar of imaki06
imaki06

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


Avatar of Manoj Patil
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();
            }
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();
Avatar of Parth48

ASKER

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 ....
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

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

String[] qryArray= resQry.ToArray();
Avatar of Parth48

ASKER

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 ??
Do you include:
System.Collections.Generic

What kind of an error?
ASKER CERTIFIED SOLUTION
Avatar of imaki06
imaki06

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of Parth48

ASKER

Thanks @imaki06:

it's work