假设Dr的类型是SqlDataReader,则有以下伪代码:if(Dr.read())
{
    ;//有记录
}
else
{
    ;//无记录
}

解决方案 »

  1.   

    Mycmd.commandtext=”select count(*) from 表 where 姓名=?”
    SqlDataReader mydataread=mycmd.executescalar();
    Object k=mydataread.read();
      

  2.   

    okwinds(梦无忧)的和以下我自己写的是一样的,但不成功。运行后页面报:该用户已存在,请重新输入!连接已经打开 (state=Open)。再求解!!!
    SqlConnection conn=new SqlConnection("Data Source=hkserver;"+"Initial Catalog=useraccounts;User ID=sa;Password=");
    SqlDataReader checkread;
    string username=txtusername.Text.ToString();
    string password=txtpassword.Text.ToString();
    string selectstr="select * from Users where username='"+username+"'";
    string strcom="INSERT INTO Users VALUES('"+username+"','"+password+"')";
    SqlCommand cmdcheck=new SqlCommand(selectstr,conn);
    try
    {
    conn.Open();checkread=cmdcheck.ExecuteReader();if(checkread.Read())
       {lblMessage.Text="该用户已存在,请重新输入!";
      
       }
       else
       {
       SqlCommand cmd=new SqlCommand(strcom,conn);

       conn.Open();cmd.ExecuteNonQuery();lblMessage.Text="您已成功注册,请登录"; 
       }
    }
    catch(Exception ex)
    {
    throw new Exception("该用户已存在,请重新输入!"+ex.Message);}
    finally{conn.Close();}
    }
    }
      

  3.   

    Read以后,读用户名字段,如果为null则表示没有记录
      

  4.   

    SqlConnection conn=new SqlConnection("Data Source=hkserver;"+"Initial Catalog=useraccounts;User ID=sa;Password=");
    SqlDataReader checkread;
    string username=txtusername.Text.ToString();
    string password=txtpassword.Text.ToString();
    string selectstr="select * from Users where username='"+username+"'";
    string strcom="INSERT INTO Users VALUES('"+username+"','"+password+"')";
    SqlCommand cmdcheck=new SqlCommand(selectstr,conn);
    try
    {
    conn.Open();
    checkread=cmdcheck.ExecuteReader();
    if(checkread.Read())
    {
    lblMessage.Text="该用户已存在,请重新输入!";
        }
        else
       {
            checkread.Close();  // 在执行别的命令的时候一定要把SqlDataReader 关闭
            SqlCommand cmd=new SqlCommand(strcom,conn);
       conn.Open();cmd.ExecuteNonQuery();lblMessage.Text="您已成功注册,请登录"; 
       }
    }
    catch(Exception ex)
    {
    throw new Exception("该用户已存在,请重新输入!"+ex.Message);}
    finally{conn.Close();}
    }
    }
      

  5.   

    // 在执行别的命令的时候一定要把SqlDataReader 关闭
      

  6.   

    谢谢zlc810821(卷心菜) ,okwinds(梦无忧)
    我在不过我还在你的代码后,加了一句conn.Close();才成功了。谢谢
      

  7.   

    光关闭是不够的,还要注意析构:conn.Dispose();