PDA

View Full Version : سوال: ارور مشکوک روی کد select



amir-aa
جمعه 31 شهریور 1391, 09:19 صبح
a1 = Convert.ToInt32(textBox4.Text);
string connectionstring = "Data Source=.;Initial Catalog=maryam;Integrated Security=true;User ID=sa;Password=01";
SqlConnection conn = new SqlConnection(connectionstring);
string query1 = "insert into tasvie(pol,date,codef) Values("+textBox4.Text+",'"+maskedTextBox1.Text+"',"+comboBox4.Text+")";
string query2 = "select sum(tasvie.pol) as 'jam',sarfactor.nesie from tasvie join sarfactor on tasvie.codef= sarfactor.id where tasvie.codef="+comboBox4.Text+" group by sarfactor.nesie";
SqlCommand cm = new SqlCommand(query2, conn);
SqlCommand cm1 = new SqlCommand(query1, conn);
conn.Open();
SqlDataReader dr = cm.ExecuteReader();
if (dr.Read())
{
n = Convert.ToInt32(dr["nesie"].ToString());
jam = Convert.ToInt32(dr["jam"].ToString());

// conn.Close();
}

else
{
conn.Close();
string connectionstring1 = "Data Source=.;Initial Catalog=maryam;Integrated Security=true;User ID=sa;Password=01";
SqlConnection conn1 = new SqlConnection(connectionstring);
string query3 = "select sarfactor.nesie from sarfactor where sarfactor.id="+comboBox4.Text;
SqlCommand cm3 = new SqlCommand(query3, conn);
conn.Open();
SqlDataReader dr1 = cm3.ExecuteReader();
if (dr1.Read())
{
n = Convert.ToInt32(dr["nesie"].ToString());

}


ارورش
Invalid attempt to call MetaData when reader is closed.
؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟

amir-aa
جمعه 31 شهریور 1391, 11:20 صبح
هیچکس جواب نمیده؟؟/

SharpSabre
جمعه 31 شهریور 1391, 11:42 صبح
conn1.Open();
string connectionstring1 = "Data Source=.;Initial Catalog=maryam;Integrated Security=true;User ID=sa;Password=01"; SqlConnection conn1 = new SqlConnection(connectionstring1);
string query3 = "select sarfactor.nesie from sarfactor where sarfactor.id="+comboBox4.Text;
SqlCommand cm3 = new SqlCommand(query3, conn1);
SqlDataReader dr1 = cm3.ExecuteReader();

این دستورات رو بذار اینجا
else
{
conn.Close();
.
.
.
if (dr1.Read()) {
n = Convert.ToInt32(dr["nesie"].ToString());

}

amir-aa
جمعه 31 شهریور 1391, 11:54 صبح
من نمیفهمم

amir-aa
جمعه 31 شهریور 1391, 12:28 عصر
a1 = Convert.ToInt32(textBox4.Text);
string connectionstring = "Data Source=.;Initial Catalog=maryam;Integrated Security=true;User ID=sa;Password=01";
SqlConnection conn = new SqlConnection(connectionstring);
string query1 = "insert into tasvie(pol,date,codef) Values("+textBox4.Text+",'"+maskedTextBox1.Text+"',"+comboBox4.Text+")";
string query2 = "select sum(tasvie.pol) as 'jam',sarfactor.nesie from tasvie join sarfactor on tasvie.codef= sarfactor.id where tasvie.codef="+comboBox4.Text+" group by sarfactor.nesie";
SqlCommand cm = new SqlCommand(query2, conn);
SqlCommand cm1 = new SqlCommand(query1, conn);
conn.Open();
SqlDataReader dr = cm.ExecuteReader();
if (dr.Read())
{
n = Convert.ToInt32(dr["nesie"].ToString());
jam = Convert.ToInt32(dr["jam"].ToString());

conn.Close();
}

else
{
conn.Close();

string query3 = "select sarfactor.nesie from sarfactor where sarfactor.id="+comboBox4.Text;
SqlCommand cm3 = new SqlCommand(query3, conn);
conn.Open();
SqlDataReader dr1 = cm3.ExecuteReader();
if (dr1.Read())
{
n = Convert.ToInt32(dr["nesie"].ToString());

}
conn.Close();


من اینجوری کردمش اما بازم همون ارور رو میده

amir-aa
جمعه 31 شهریور 1391, 12:40 عصر
فهمیدم من باید به جای dr مینوشتم dr1در حقیقت dr در چند خط قبل بسته شده بوده