ThElitEyeS ThElitEyeS - 3 months ago 32
SQL Question

C# Using 2 sqldatareader at same time?

Hello is there a way to use two sqldatareader at same time ?

i was coding a program

and i got error because i use 2 readers at same

Sample of code

SqlCommand LoadSilk = new SqlCommand("SELECT silk_own FROM SK_Silk WHERE JID = (SELECT JID FROM TB_User WHERE StrUserID = '"+ comboBox1.Text +"')", Connection);
SqlDataReader SilkReader = LoadSilk.ExecuteReader();
SqlCommand LoadCharacter = new SqlCommand("SELECT * FROM SRO_VT_SHARD.DBO._Char WHERE CharID IN (SELECT CharID FROM SRO_VT_SHARD.DBO._User WHERE UserJID = "+ JID +")", Connection);
SqlDataReader CharacterReader = LoadCharacter.ExecuteReader();

textBox5.Text = SilkReader[0].ToString();
Silk = SilkReader[0].ToString();
dataGridView1.Enabled = true;
button2.Enabled = true;
while (CharacterReader.Read()) {
dataGridView1.Rows.Add(CharacterReader["CharID"].ToString(), CharacterReader["CharName16"].ToString(), CharacterReader["CurLevel"].ToString());
log(comboBox1.Text + " account data loaded");
catch (Exception ex) {
} finally {

and its gave me that error

There is already an open DataReader associated with this Command which
must be closed first.


The error message is misleading. You must have MultipleActiveResultSets=True set in your connection string to be able to send two seperate commands with two different readers.