aggiornare dati un DataSet .net c#

ManuMinù

Nuovo Utente
6 Giu 2008
1
0
0
praticamente le query vengono effettuate sulle stessa tabella...

che ha struttura

id | nome | cognome | idPadre | Bloccato etc etc

questa è il primo metodo...che prende il padre...

private void PopulateDataSetUsingProcedure()
{
SqlConnection mySqlConnection =new SqlConnection(ConfigurationSettings.AppSettings["ConnectionStringNull"]);
int idPadre=999;
SqlCommand mySqlCommand = mySqlConnection.CreateCommand();
mySqlCommand.CommandText = "EXECUTE storedPadre @IdPadre" ;
mySqlCommand.Parameters.Add("@IdPadre", SqlDbType.Int).Value = idPadre;
SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter();
mySqlDataAdapter.SelectCommand = mySqlCommand;
DataSet myDataSet = new DataSet();
mySqlConnection.Open();
int numberOfRows = mySqlDataAdapter.Fill(myDataSet, "storedPadre");
Console.WriteLine("numberOfRows = " + numberOfRows);
mySqlConnection.Close();
DataTable myDataTable = myDataSet.Tables["storedPadre"];
DataRow dr=myDataTable.Rows[0];
if (myDataTable.Rows.Count > 0)
{
for(int i = 0 ; i<myDataTable.Rows.Count;i++ )
{
if (myDataTable.Rows["Id"].ToString() != "")
{
string idRicerca= myDataTable.Rows["Id"].ToString();
int idSponsor = Int16.Parse(idRicerca);
ricercaFigli(idSponsor,myDataSet);
}
}
}
}

questo è il secondo dove prendo i figli e richiamo la seconda stored procedure....a cui viene passato l'id padre.


private void ricercaFigli(int idSponsor , DataSet ds)
{
SqlConnection mySqlConnection =new SqlConnection(ConfigurationSettings.AppSettings["ConnectionStringNull"]);
SqlCommand mySqlCommand = mySqlConnection.CreateCommand();
mySqlCommand.CommandText = "EXECUTE storedFigli @IdPadre" ;
mySqlCommand.Parameters.Add("@IdPadre", SqlDbType.Int).Value = idSponsor;
SqlDataAdapter mySqlDataAdapter = new SqlDataAdapter();
mySqlDataAdapter.SelectCommand = mySqlCommand;
mySqlConnection.Open();
int numberOfRows = mySqlDataAdapter.Fill(ds, "storedFigli");
Console.WriteLine("numberOfRows = " + numberOfRows);
mySqlConnection.Close();
DataTable myDTable = ds.Tables["storedFigli"];
ds.AcceptChanges();
ds.Merge(myDTable);
ds.Tables.Add(myDTable);
ds.AcceptChanges();
dgMappe.DataSource = ds;
dgMappe.DataBind();
}

alla fine ds...quando mi carica il data grid mi carica solo i risultati della prima query, eppure i dati li trova perchè contando le righe nel secondo metodo trovo tutti e tre i figli!



sapete aiutarmi?
 

Discussioni simili