Currently i am having a C# code to display data in gridview which is based on several conditions. So, i have to the nesting of gridview. My code is something like this.
con.ConnectionString = ConfigurationManager.ConnectionStrings["mySQLConnection"].ToString();
con.Open();
SqlCommand cmd = new SqlCommand("SELECT uname FROM vusers", con);
var dr = cmd.ExecuteReader();
if (dr.HasRows)
{
while (dr.Read())
{
con1.ConnectionString = ConfigurationManager.ConnectionStrings["mySQLConnection"].ToString();
con1.Open();
SqlCommand cmd1 = new SqlCommand("SELECT mydata FROM vdata where uname="+dr["uname"].ToString(), con1);
var dr1 = cmd1.ExecuteReader();
if (dr1.HasRows)
{
while (dr1.Read())
{
getmydata = dr1["mydata"].ToString();
}
}
con2.ConnectionString = ConfigurationManager.ConnectionStrings["mySQLConnection"].ToString();
con2.Open();
SqlCommand cmd2 = new SqlCommand("SELECT mynewdata FROM vnewdata where uname="+dr["uname"].ToString(), con2);
var dr2 = cmd2.ExecuteReader();
if (dr2.HasRows)
{
while (dr2.Read())
{
getmynewdata = dr2["mydata"].ToString();
}
}
}
}
In the above code, from the outer SQL query, i am getting uname & on the basis of uname, i am getting data from 2 inner SQL queries. It is 2 slow & time consuming process for a big database. How can i prevent the 2 inner query in the loop from execution. How can i make it efficient & less time and resource consuming?