private string GetTree(string kode)
{
OleDbCommand select_array = new OleDbCommand("SELECT * FROM table WHERE PARENTKOD = '" + kode + "'");
DataTable dt_array = new DataTable(select_array);
List<string> array = new List<string>();
string ids = string.Empty;
array.Add(dir);
foreach (DataRow dd_s in dt_array.Rows)
{
//здесь храним текущий код
string CurrentKode = dd_s["KOD"].ToString();
//если он есть и/или не пустой
if (!String.IsNullOrEmpty(CurrentKode))
{
//записываем его
array.Add(CurrentKode);
//получаем все записи по этому самому коду
GetTree(CurrentKode);
}
//а еще проблема вот тут может быть, т.к. return - это выход из функции.
//Значит, после отработки для первого dd_s из dt_array.Rows, будет выход из функции и все
//return array.Count().ToString();
}
ids += "'";
ids += String.Join("','", array.Select(p => p.ToString()).ToArray());
ids += "'";
return ids;
}