C# 根据当前登录用户不工作在gridview上显示数据

C# 根据当前登录用户不工作在gridview上显示数据,c#,asp.net,sql,C#,Asp.net,Sql,您如何实际显示根据当前登录用户从数据库检索的数据?我用过这个方法,但实际上不起作用。我哪里出错了 My.cs代码: int selectedRow = GridView1.SelectedIndex; GridViewRow row = GridView1.Rows[selectedRow]; int UserId = Convert.ToInt32(row.Cells[0].Text); MembershipUser currentUser = Membership

您如何实际显示根据当前登录用户从数据库检索的数据?我用过这个方法,但实际上不起作用。我哪里出错了

My.cs代码:

 int selectedRow = GridView1.SelectedIndex;
    GridViewRow row = GridView1.Rows[selectedRow];
    int UserId = Convert.ToInt32(row.Cells[0].Text);

    MembershipUser currentUser = Membership.GetUser();
    Guid currentUserId = (Guid)currentUser.ProviderUserKey;

    string strConnectionString = ConfigurationManager.ConnectionStrings["ASPNETDBConnectionString1"].ConnectionString;

    SqlConnection myConnect = new SqlConnection(strConnectionString);

    string strCommandText = "SELECT date, starttime, endtime, planner FROM bookings WHERE UserId =@UserId";
    SqlCommand cmd = new SqlCommand(strCommandText, myConnect);

    myConnect.Open();
    SqlDataReader reader = cmd.ExecuteReader();
    cmd.Parameters.AddWithValue("@UserId", UserId);

    reader.Close();
    myConnect.Close();

您必须反转线条:

       myConnect.Open();
  cmd.Parameters.AddWithValue("@UserId", UserId);
    SqlDataReader reader = cmd.ExecuteReader();

;-)

为了澄清,在添加UserId参数之前,您正在执行DataReader。事实上,在完全定义命令对象之前,最好不要打开连接

它应该更像这样:

string strConnectionString = ConfigurationManager.ConnectionStrings["ASPNETDBConnectionString1"].ConnectionString;

    SqlConnection myConnect = new SqlConnection(strConnectionString);

    string strCommandText = "SELECT date, starttime, endtime, planner FROM bookings WHERE UserId =@UserId";
    SqlCommand cmd = new SqlCommand(strCommandText, myConnect);
  cmd.Parameters.AddWithValue("@UserId", UserId);

    myConnect.Open();
    SqlDataReader reader = cmd.ExecuteReader();  
    myGridView.DataSource = reader;
    myGridView.DataBind();

    reader.Close();
    myConnect.Close();

什么不起作用?你有例外吗?错误的结果?还有别的吗?没有错。当我以前在第一个.aspx页面中预订了约会,然后进入查看约会页面时,我应该能够看到我以前预订的所有约会以及我最近预订的约会。