asp.net到sql server 取值问题
select *from(select *,row_number() over(order by UserID)as id from Users) Users where id>=1 and id<=3 我用这条语句在sql server里执行得到了3条数据我再用这条语句在后台取数据绑定到GridView只得到了两条数据 第一条数据没有得到 这是为什么?
补充: SqlConnection con = new SqlConnection("Data Source=(local);integrated Security=true;database=CampusForum");
SqlCommand cmd = new SqlCommand("select *from(select *,row_number() over(order by UserID)as id from Users) Users where id>=1 and id<=3",con);
con.Open();
SqlDataReader r = cmd.ExecuteReader();
if (r.Read())
{
this.GridView1.DataSource = r;
this.GridView1.DataBind();
}
con.Close();
追问:我在SQL里执行过,控件都是默认设置,用你这确实 可以 但是我以前就是用那种方法是可以的,
答案:不知道你在SQL中单独执行过没有, 确认是获取到3条数据? 另外你检查过你的gridview属性设置没有? 确认没有问题吗(建议重新拖一个gridview,全部使用默认设置试试)? 另外gridview一般是绑定的一个表格,我从来没有用过楼主的方法。我一般这么使用:
SqlConnection con = new SqlConnection("Data Source=(local);integrated Security=true;database=CampusForum");
con.Open();
SqlDataAdapter da = new SqlDataAdapter("select *from(select *,row_number() over(order by UserID)as id from Users) Users where id>=1 and id<=3", con);
DataTable tb = new DataTable();
da.Fill(tb);
if (tb.Rows.Count>0)
{
this.GridView1.DataSource = tb;
this.GridView1.DataBind();
}
con.Close();
你把你的SQL语句复制到 SQL语句分析器中查询,看看是不是想要的结果
估计你的SQL语句SQL语句逻辑判断有问题,你的SQL语句有点复杂了
应该不可能,SQL里执行几条,GridView就有几条,(重复数据?,正常来说也不应该)自己检查一下吧
上一个:asp.net做的网站怎么配置IIS服务器啊?
下一个:这个asp.net数据库操作类好不好?