C# 根据当前登录用户不工作在gridview上显示数据
您如何实际显示根据当前登录用户从数据库检索的数据?我用过这个方法,但实际上不起作用。我哪里出错了 My.cs代码: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
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页面中预订了约会,然后进入查看约会页面时,我应该能够看到我以前预订的所有约会以及我最近预订的约会。