PDA

View Full Version : C# ciclo prendendo la matrice da una tabella


Danilo8024
16-01-2011, 12:39
Ciao a tutti,
sono nuovo del Forum, e vi ringrazio delle molteplici soluzioni che ho trovato in questo Forum dai vari utenti mi hanno aiutato molto della risoluzione di diverse problematiche che ho riscontrato nella programmazione non essendo un programmatore.

Ho un bel problema ( per me che sono inesperto ) dovrei fare un programmino che interfacciandosi con un DB MYSQL contente due tabelle ( Dipendenti e Presenze ), questo programma deve prendere Matricola dalla tabella Dipendenti automaticamente e effettuare delle query (utilizzando la matricola trovata nella Tabella Dipendenti) sulla Tabella Presenze ( dove è contenuto anche il campo Matricola) una cosa del genere...

Select * from presenze where Matricola = (presa dalla tabella dipendenti) and assenze = "blabla" ecc....


Vorrei creare un ciclo per fare questa cosa in modo che prenda la matricola da solo ed effettui le query.

E' una cosa che non ho mai fatto, ho letto e capito che si fa con for o foreach ma non so come per il momento il mio codice si ferma qui:

MySqlCommand ComandoSQL;
DataSet DatasetSQL;
MySqlDataAdapter DataAdapterSQL;
string Connessionestring = "SERVER=localhost;PORT=3306;DATABASE=2010;UID=root;PASSWORD=admin;";
MySqlConnection ConnessioneMysql = new MySqlConnection(Connessionestring);
ConnessioneMysql.Open();
ComandoSQL = new MySqlCommand();
ComandoSQL.Connection = ConnessioneMysql;
ComandoSQL.CommandType = CommandType.Text;
ComandoSQL.CommandText = "SELECT * From personale";
DatasetSQL = new DataSet();
DataAdapterSQL = new MySqlDataAdapter(ComandoSQL);
DataAdapterSQL.Fill(DatasetSQL, "personale");

foreach (???????????)
{
if
{
??????????????????????
}

}
ConnessioneMysql.Clone();

Vi chiedo gentilmente di aiutarmi perchè ho letto un pò qua e la ma non ho trovato nulla, anzi meglio, non ho capito nulla....

Grazie dell'aiuto. :mc:

m-mad
17-01-2011, 15:56
Le due tabelle non son legate da una chiave? Da come hai scritto sembra proprio di si usi un Join dove metti in uguaglianza presenze.matricola con dipendenti.matricola

Se invece devi porre altre condizioni:
Conosci la sintassi delle query annidate? Puoi Utilizzare quella per prendere le matricole che soddisfano i tuoi criteri di ricerca e poi usarle nella query a livello superiore

Oppure in maniera più meccanica, fai la prima query, stori i risultati in una ArrayList e poi te la passi con il for, ma prestazionalmente diventa pesante anche con non molti record.

Ciao.