First of all I've only been programming in C# for a week or two and I am teaching myself so not completely confident with terminology or OOP. I have a method which I am calling hundreds of times from various other methods. Inside this I am opening a database connection and running a query and returning a result.
Now I know that opening a new database connection hundreds of times is not very good - so I am trying to only open the database connection once on opening the program and closing the program.
I have pasted my method at the bottom of this post.
Now I was thinking I could open the database connection beside intizialize component and close it on exit - but the problem with this is I would then have to pass two extra variables to the method every single place I call it (which is hundreds of times) and also pass these variables to the dozen or so other methods I have which are calling the database method somewhere inside - which all becomes very messy and I would imagine is unnecessary if I could somehow just make the two variables public and accessible from all method.
So my question is there is any way of doing this - or at least a more simple way of trying to achieve this?
thanks.
P.S sorry for the bad formatting - this thing makes you type in your own html!?
-------------------------------------- My database method is as follows
private string CheckIfExists(String strSql) { string MyConString = "SERVER=***;" + "DATABASE=***;" + "UID=***;" + "PASSWORD=***;"; MySqlConnection connection = new MySqlConnection(MyConString); MySqlCommand command = connection.CreateCommand(); MySqlDataReader Reader; command.CommandText = strSql; connection.Open(); Reader = command.ExecuteReader(); //return Reader.Read(); string xreturn = null; while (Reader.Read()) { xreturn = Reader["id"].ToString(); //MessageBox.Show(xreturn); } connection.Close(); return xreturn; }