附datareader:
----------------------------------------------------
public bool datareader(string sql)
{
SqlConnection Con = new SqlConnection(data.constr);  
SqlCommand addCommand =new SqlCommand(sql,Con);
addCommand.Connection.Open();
SqlDataReader selreader;
selreader=addCommand.ExecuteReader();
bool ifread;
if (selreader.Read())
ifread=true;
else
ifread=false;
addCommand.Connection.Close();
addCommand.Dispose();
return ifread;
}
--------------------------------------------------------

解决方案 »

  1.   

    附readout:public string readout(string sql,int num)
    {
    string result;
    SqlConnection Con = new SqlConnection(data.constr);  
    SqlCommand objCommand =new SqlCommand(sql,Con);
    SqlDataReader objDataReader ;
    objCommand.Connection.Open();
    objDataReader = objCommand.ExecuteReader();
    if(objDataReader.Read())
    {
    objCommand.Dispose();
    return result=objDataReader.GetValue(num).ToString();
    }
    else 
    {
    objCommand.Dispose();
    return "没有该记录";
    }
    }
    -----------------------------难道是readout不支持循环吗,那么又该如何解决呢????
      

  2.   

    string sql="select value,context from category where parentvalue=0";
    SqlConnection Con = new SqlConnection(data.constr);  
    SqlCommand addCommand =new SqlCommand(sql,Con);
    addCommand.Connection.Open();
    SqlDataReader selreader;
    selreader=addCommand.ExecuteReader(CommandBehavior.CloseConnection);while(selreader.Read())
    {
      Response.Write(selreader[1].ToString());
    }
    selreader.close();
      

  3.   

    代码有问题,太乱。
    reader 初始状态是在第一条记录之前。
    应该,
    if( sqlreader.Read() )
    {
        sqlreader.Read();}
      

  4.   

    string  sql="select value,context from category where parentvalue=0 and value<>113";
    SqlConnection Con = new SqlConnection(data.constr);  
    SqlCommand addCommand =new SqlCommand(sql,Con);
    addCommand.Connection.Open();
    SqlDataReader selreader;
    selreader=addCommand.ExecuteReader(CommandBehavior.CloseConnection);
    string val2="",context1;
    val2=selreader[0].ToString();//在没有任何数据时进行无效的读取尝试
    context1=selreader[1].ToString();
    while(selreader.Read())
    {
    Response.Write("<a href=NewOne.aspx?val="+val2+">"+context1+"</a><br>");
    }
    selreader.Close(); ----------------------------------
    val2=selreader[0].ToString();//在没有任何数据时进行无效的读取尝试
    这句报错,会是什么原因呢
      

  5.   

    搞定啦^_^,如果我把这个循环写在类里面方便以后调用该怎么写呢string  val2="",context1,sql="select value,context from category where parentvalue=0";
    SqlConnection Con = new SqlConnection(data.constr);  
    SqlCommand addCommand =new SqlCommand(sql,Con);
    addCommand.Connection.Open();
    SqlDataReader selreader;
        selreader=addCommand.ExecuteReader(CommandBehavior.CloseConnection);

    while(selreader.Read())
    {
    val2=selreader[0].ToString();
    context1=selreader[1].ToString();
    Response.Write("<a href=NewOne.aspx?val="+val2+">"+context1+"</a><br>");
    }

    selreader.Close();
      

  6.   

    我该成这样看对不对,
    public SqlDataReader readrow(string sql)
    {
    SqlConnection Con = new SqlConnection(data.constr);  
    SqlCommand objCommand =new SqlCommand(sql,Con);
    objCommand.Connection.Open();
    SqlDataReader objDataReader ;
    objDataReader = objCommand.ExecuteReader(CommandBehavior.CloseConnection);
    if(objDataReader.Read())
    {
    objCommand.Disposed();
    return objDataReader;
    }

    else 
    {
    objCommand.Disposed();
    return null;
    }
    }