using System;
using System.Data;
using System.Data.SqlClient;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;public partial class MemberManage_FindPWD : System.Web.UI.Page
{
    SqlConnection sqlconn = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
    protected void Page_Load(object sender, EventArgs e)
    {    }
    protected void btnSure_Click(object sender, EventArgs e)
    {
        sqlconn.Open();
        SqlCommand sqlcom = new SqlCommand("select count(*) from tb_Member where MemberID='" + txtMemberID.Text + "'", sqlconn);
        int count = Convert.ToInt32(sqlcom.ExecuteScalar());
        if (count > 0)
        {
            Session["MemberID"] = txtMemberID.Text;
            Response.Redirect("AnsQuestion.aspx");
        }
        else
        {
            Response.Write("<script>alert('没有该会员ID');location='javascript:history.go(-1)'</script>");
            return;
        }
        sqlconn.Close();
    }
}
int count = Convert.ToInt32(sqlcom.ExecuteScalar());这是什么意思,如何判断MemberID是否存在,Session["MemberID"] = txtMemberID.Text;指的是什么

解决方案 »

  1.   

    sqlcom.ExecuteScalar() 执行后 会返回 影响的 行数取到这个行数  大于0 就说明 查到记录了,   就说明 MemberID 存在了Session["MemberID"] = txtMemberID.Text将 MemberID  给 会话变量 存起来, 这样 在这个 会话期间, 随时可以用 这个 Session["MemberID"]  anypage  anywhere
      

  2.   

    sqlcom.ExecuteScalar()这个方法返回执行了这句SQL后的后影响的行数。
    判断MemberID是否存在?在数据库中吗?用if exists (select....)。
    Session["MemberID"] = txtMemberID.Text :Session["MemberID"]这个是用来在网页之间传值的,Session["MemberID"] = txtMemberID.Text就是把txtMemberID文本框中的文本存贮在Session["MemberID"]里,可以传递到其他页面。
      

  3.   

    sqlcommand.ExecuteScalar() 查询并返回查询所返回的结果集中第一行的第一列。忽略其他列或行。
      

  4.   

    int count = Convert.ToInt32(sqlcom.ExecuteScalar());这是什么意思?
    以上这话的意思是将“执行查询,并返回查询所返回的结果集中第一行的第一列”的值强行转换成int类型,就是取得有没有这个号??
    Session["MemberID"] = txtMemberID.Text;指的是什么?
    指的是将txMemberID.text的值赋给Session!!
    MemberID是你传过来的一个值啊!!!
      

  5.   

    sqlcommand.ExecuteNonQuery()才是返回受影响行数
      

  6.   

    还有个基础问题SqlConnection sqlconn = new SqlConnection(ConfigurationManager.AppSettings["ConnectionString"]);
     SqlConnection(ConfigurationManager.AppSettings["ConnectionString"])指的是什么?
      

  7.   

    ConfigurationManager.AppSettings["ConnectionString"]
    从app.config的appsettings节点读出子节点ConnectionString的valueSqlConnection(ConfigurationManager.AppSettings["ConnectionString"])
    用上面读出来的ConnectionString初始化一个SQL连接
      

  8.   

    sqlcom.ExecuteScalar() 执行后 会返回第一行第一列的值 Session["MemberID"] = txtMemberID.Text 将 MemberID  给 会话变量 存起来,  会话期间, 
    可以用 这个 Session["MemberID"]
      

  9.   

    int count = Convert.ToInt32(sqlcom.ExecuteScalar());这是什么意思,如何判断MemberID是否存在,Session["MemberID"] = txtMemberID.Text;指的是什么sqlcommand.
    ExecuteScalar();//方法返回执行语句的第一行第一列
    ExecuteNonQuery();//方法返回执行影响的行数即:int count = Convert.ToInt32(sqlcom.ExecuteScalar());
    返回:select count(*) from ...中的 count(*)Session["MemberID"] = txtMemberID.Text 
    //这句是创建 key为MemberID value为txtMemberID.Text  的Session 值