As you might have guessed from the title am I trying to do this:
#region check new nations
private void checknewnations()
{
addtolog(\"se
In 2008 connection strings you can have multiple active results sets via MultipleActiveResultSets=true;
I've not used mySQL so I'm not sure, but maybe if you are using an ADO provider.
Otherwise, just make another connection -- don't re-use the same one.
Open another connection in the loop, and use it to obtain the second reader. Since the loop is tight, you might prefer to open both connections in the first method, pass the second through to the called method, and then close them both at the end of the first ("outer") method. It should be a short enough time between calls that the normal rule about closing connections as soon as possible won't matter.
DataReader holds on to connection until it iterates through all its records. Try this
using(reader)
{
System.Data.DataTable dt = new System.Data.DataTable();
dt.Load(reader);
foreach(DataRow row in dt.Rows)
{
addtolog("mysql",row["nations_name"].ToString());
int nation_ID = int.Parse(row["nations_ID"].ToString());
string nation_name = row["nations_name"].ToString();
string user_ID = row["nations_user"].ToString();
addnation(nation_ID, nation_name, user_ID);
}
}
This way the two reader are not sharing the same connection