当前位置:编程学习 > C#/ASP.NET >>

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数据库操作类好不好?

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,