Reputation: 21
public static void InitializeUsers(MySqlConnection cn, List<MarketingExecutive> marketingExecutives, List<FieldOfficer> fieldOfficers)
{
cn.Open();
MySqlCommand SelectCommand = new MySqlCommand("select * from loanrequestprocessing_db.tbl_users where TypeOfUser='Marketing Executive'",cn);
MySqlDataReader reader = SelectCommand.ExecuteReader();
while(reader.Read())
{
MarketingExecutive M = new MarketingExecutive()
{
ExecutiveId = Convert.ToInt32(reader[0]),
ExecutiveName = Convert.ToString( reader[1]),
Area = Convert.ToString(reader[3]),
Address = Convert.ToString(reader[4])
};
marketingExecutives.Add(M);
}
reader.Close();
MySqlCommand SelectCommand2 = new MySqlCommand("select * from loanrequestprocessing_db.tbl_users where TypeOfUser='Field Officer'", cn);
MySqlDataReader reader2 = SelectCommand2.ExecuteReader();
while(reader2.Read())
{
FieldOfficer f = new FieldOfficer()
{
OfficerId = Convert.ToInt32(reader2[0]),
OfficerName = Convert.ToString(reader2[1]),
Area = Convert.ToString(reader2[3]),
Address = Convert.ToString(reader2[4])
};
fieldOfficers.Add(f);
}
reader2.Close();
cn.Close();
}
In above Method I have used single connection with multiple readers in same connection keeping in mind only one reader is opened at a time still i m getting error what is wrong with my code any help will be welcome i am new to c#
Upvotes: 1
Views: 1200
Reputation: 234
Yes.
It is better to use "using" to open a connection and write two queries in this connection.
using (MySqlConnection connection = new MySqlConnection (connectionString))
{
connection.Open();
// write codes here
}
Upvotes: 2