posto il docie della mia funzione ricorsiva
codice:
void ricorsiva(string userP, string userA)
{
DataSet DSetR = new DataSet();
string Cnnstr = System.Configuration.ConfigurationSettings.AppSettings["CN1"].ToString();
bool ret2 = false;
ret2 = clsFunctions.LoadDataSetFromSqlStatement(Cnnstr, "SELECT kiave1, kiave2 FROM amicizie WHERE (amicizie.kiave1 = '" + userP + "' or amicizie.kiave2='" + userP + "' )", "PROVA", ref DSetR, true);
if (ret2 == true)
{
if (DSetR.Tables["PROVA"].Rows.Count > 0)
{
string c;
string d;
int i;
i = DSetR.Tables["PROVA"].Rows.Count;
bool risultato;
risultato = false;
do
{
c = DSetR.Tables["PROVA"].Rows[i]["kiave1"].ToString();
d = DSetR.Tables["PROVA"].Rows[i]["kiave2"].ToString();
i = i - 1;
if (c == userA)
{
risultato = true;
}
else if (d == userA)
{
risultato = true;
}
}
while ((i > 0) || (risultato == false));
if (risultato == true)
{
Response.Write("contatto tra utenti trovato");
GridView1.DataSource = DSetR;
GridView1.DataBind();
}
else
{
this.ricorsiva(c, userA);
this.ricorsiva(d, userA);
}
}
else
{
Response.Write("errore");
}
}
}