Sto programmando in Windows Form e MySQL.
Se lo dichiaro nel programma, posso usare gli oggetti di connessione e comando nell'intera pagina .cs:
MySqlConnection connection = null;
MySqlCommand command = null;
MySqlDataReader Reader;
Ma se scrivo il codice qui sotto, gli oggetti di connessione e comando sono dichiarati due volte:
private void cmbo_class_SelectedValueChanged(object sender, EventArgs e)
{
string clas = cmbo_class.SelectedItem.ToString();
try
{
MySqlConnection connection = new MySqlConnection(hp.myConnStr);
MySqlCommand command = connection.CreateCommand();
MySqlDataReader Reader;
command.CommandText = "select id,code from reg_class_master where name ='" + clas + "' and Delete_Status=0";
connection.Open();
Reader = command.ExecuteReader();
while (Reader.Read())
{
class_id = Convert.ToInt32(Reader[0].ToString());
class_code = Reader[1].ToString();
}
connection.Close();
}
catch(Exception ex)
{
MessageBox.Show("Error in ","Information",MessageBoxButtons.OK,MessageBoxIcon.Information);
}
cmbo_division.Items.Clear();
try
{
MySqlConnection connection = new MySqlConnection(hp.myConnStr);
MySqlCommand command = connection.CreateCommand();
MySqlDataReader Reader;
command.CommandText = "select name from reg_division_master where class_id = " + class_id + " and Delete_Status=0 order by display_index";
connection.Open();
Reader = command.ExecuteReader();
while (Reader.Read())
{
cmbo_division.Items.Add(Reader[0].ToString());
}
connection.Close();
}
catch
{
}
Penso che una dichiarazione di oggetto sia il modo migliore. Più dichiarazioni sugli oggetti influenzano il programma?