string ct = dr["值1"].ToString;
dr.close这个ct你是不是在你的第一个datareader方法里定义的。
那么在你的第2个datareader当然找不到了。你把string ct;写在
public class CreateTicket : System.Web.UI.Page
{
string ct;
然后其它的方法里再给ct赋值。
dr.close这个ct你是不是在你的第一个datareader方法里定义的。
那么在你的第2个datareader当然找不到了。你把string ct;写在
public class CreateTicket : System.Web.UI.Page
{
string ct;
然后其它的方法里再给ct赋值。
就会报ct 未命名类呀.
怎么赋值?
怎么赋值?
MyConnection.Open();
try
{
SqlDataReader dr = MyCommand.ExecuteReader();
if (dr.Read())
{
string ct = dr["classid"].ToString();
string strconn="SELECT * FROM arnclass where classid="+dr["classid"].ToString()+"";
note.Text= ToUbb(dr["note"].ToString());
showname.Text = "<B><font color='#004FC6' size='3'>"+dr["showname"].ToString()+""+dr["bb"].ToString()+"</font></B>";
}
dr.Close();
SqlCommand MyCommand1 = new SqlCommand("SELECT * FROM narclass where nclassid="+ct+"",MyConnection);
SqlDataReader dr1 = MyCommand.ExecuteReader();
if (dr1.Read())
{
classname.Text = dr1["Nclass"].ToString();
}
dr1.Close();
}
catch
{
Response.Write("出错了!");
}
MyConnection.Open();
try
{
string ct ="";//定义在这里,只要在if (dr.Read()){}外
SqlDataReader dr = MyCommand.ExecuteReader();
if (dr.Read())
{
ct = dr["classid"].ToString();
string strconn="SELECT * FROM arnclass where classid="+dr["classid"].ToString()+"";
note.Text= ToUbb(dr["note"].ToString());
showname.Text = "<B><font color='#004FC6' size='3'>"+dr["showname"].ToString()+""+dr["bb"].ToString()+"</font></B>";
}
dr.Close();
SqlCommand MyCommand1 = new SqlCommand("SELECT * FROM narclass where nclassid="+ct+"",MyConnection);
SqlDataReader dr1 = MyCommand.ExecuteReader();
if (dr1.Read())
{
classname.Text = dr1["Nclass"].ToString();
}
dr1.Close();
}
catch
{
Response.Write("出错了!");
}
你的ct 是一个局部变量 作用范围只在
if (dr.Read())
{
string ct = dr["classid"].ToString();
string strconn="SELECT * FROM arnclass where classid="+dr["classid"].ToString()+"";
note.Text= ToUbb(dr["note"].ToString());
showname.Text = "<B><font color='#004FC6' size='3'>"+dr["showname"].ToString()+""+dr["bb"].ToString()+"</font></B>";
}
你下面要引用就不行了
郁闷呀.
如果按你的那样,我在第二个中取到的ct值不是为空了啊?
SqlCommand MyCommand = new SqlCommand("SELECT * FROM article where id="+id+"",MyConnection);
MyConnection.Open();
try
{
SqlDataReader dr = MyCommand.ExecuteReader();
if (dr.Read())
{
ct = dr["classid"].ToString();
string strconn="SELECT * FROM arnclass where classid="+dr["classid"].ToString()+"";
note.Text= ToUbb(dr["note"].ToString());
showname.Text = "<B><font color='#004FC6' size='3'>"+dr["showname"].ToString()+""+dr["bb"].ToString()+"</font></B>";
}
dr.Close();
SqlCommand MyCommand1 = new SqlCommand("SELECT * FROM narclass where nclassid="+ct+"",MyConnection);
SqlDataReader dr1 = MyCommand.ExecuteReader();
if (dr1.Read())
{
classname.Text = dr1["Nclass"].ToString();
}
dr1.Close();
}
catch
{
Response.Write("出错了!");
}
2、你确认表中有classid字段吗。并不一定是ct的错误,有可能是这个问题,你查一下表。