Abdujaparov
01-11-2006, 09:14
Ciao a tutti finalmente sto cominciando a capire come funziona mysql con .NET in C#.
Riesco a connettermi al database, riesco a sottoporre query di inserimento, rimozioni o aggiornamento.
Per quanto riguarda le query select ho qualche problemino.
Io faccio in questo modo:
public DataSet querySelect(string query)
{
MySqlDataAdapter myDataAdapter = new MySqlDataAdapter();
myDataAdapter.SelectCommand = new MySqlCommand(query, myConnection);
DataSet ds = new DataSet();
myDataAdapter.Fill(ds);
return ds;
}
Errori non ne ricevo però ho un piccolo, per modo di dire, problema non riesco ad estrarre i dati dal DataSet. Guardano sulla msdn trovo esempi su come assegnare un DataSet ad un datagrid io vorrei estrarre le righe come array di stringhe o quantomeno estrarre i campi come stringhe, come array poi me lo trasformo io. Qualcuno mi potrebbe dire come fare o dove andare a prendere un esempio già fatto?
Un'altra cosa, guardando sul manuale del connector .NET/MySql ho sentito parlare di prepared statement. Io ricordo di una cosa simile in java, dove un prepared statement era una query già scritta a cui passavo i parametri da inserire nella query, però guardando l'esempio presente sulla guida di riferimento leggo cose simili:
cmd.CommandText = "INSERT INTO myTable VALUES(NULL, ?number, ?text)";
cmd.Prepare();
cmd.Parameters.Add("?number", 1);
cmd.Parameters.Add("?text", "One");
for (int i=1; i <= 1000; i++)
{
cmd.Parameters["?number"].Value = i;
cmd.Parameters["?text"].Value = "A string value";
cmd.ExecuteNonQuery();
}
Credo che più o meno faccia la stessa cosa o sbaglio? Come funziona qua l'inserimento? ?number e ?text sono parole chiave?
Grazie, ciao ciao.
Riesco a connettermi al database, riesco a sottoporre query di inserimento, rimozioni o aggiornamento.
Per quanto riguarda le query select ho qualche problemino.
Io faccio in questo modo:
public DataSet querySelect(string query)
{
MySqlDataAdapter myDataAdapter = new MySqlDataAdapter();
myDataAdapter.SelectCommand = new MySqlCommand(query, myConnection);
DataSet ds = new DataSet();
myDataAdapter.Fill(ds);
return ds;
}
Errori non ne ricevo però ho un piccolo, per modo di dire, problema non riesco ad estrarre i dati dal DataSet. Guardano sulla msdn trovo esempi su come assegnare un DataSet ad un datagrid io vorrei estrarre le righe come array di stringhe o quantomeno estrarre i campi come stringhe, come array poi me lo trasformo io. Qualcuno mi potrebbe dire come fare o dove andare a prendere un esempio già fatto?
Un'altra cosa, guardando sul manuale del connector .NET/MySql ho sentito parlare di prepared statement. Io ricordo di una cosa simile in java, dove un prepared statement era una query già scritta a cui passavo i parametri da inserire nella query, però guardando l'esempio presente sulla guida di riferimento leggo cose simili:
cmd.CommandText = "INSERT INTO myTable VALUES(NULL, ?number, ?text)";
cmd.Prepare();
cmd.Parameters.Add("?number", 1);
cmd.Parameters.Add("?text", "One");
for (int i=1; i <= 1000; i++)
{
cmd.Parameters["?number"].Value = i;
cmd.Parameters["?text"].Value = "A string value";
cmd.ExecuteNonQuery();
}
Credo che più o meno faccia la stessa cosa o sbaglio? Come funziona qua l'inserimento? ?number e ?text sono parole chiave?
Grazie, ciao ciao.