请有人告诉我如何显示随机记录? [英] Please Anybody Tell me How to Show Random Records ?

查看:63
本文介绍了请有人告诉我如何显示随机记录?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

先生,我正在使用此代码显示随机图像..但是当我运行此代码时,它不会给我随机记录..但当我删除ORDER BY ImageID()时它工作正常

请有人告诉我如何显示随机记录?



我是新手先生,在此先感谢:)



我的后端是SQL SERVER

和我的代码是:



hi sir , I am Using This Code To show Random Images .. But When I run this code it is not giving me Random Records .. but When I removed ORDER BY ImageID() it is working good
Please Anybody Tell me How to Show Random Records ?

I am Fresher sir ,Thanks In Advance :)

My back end is SQL SERVER
and My Code Is :

protected void BindDataList()
{
        con.Open();

        //Query to get ImagesName and Description from database
        SqlCommand command = new SqlCommand("SELECT TOP 5 * FROM [SlideShowTable1]  where (startddate <= @sdate) AND (endddate >=@edate) AND AddType=@Add ORDER BY ImageID() ", con);

        command.Parameters.AddWithValue("@sdate", System.DateTime.Now.ToString("M/d/yyyy"));
        command.Parameters.AddWithValue("@edate", System.DateTime.Now.ToString("M/d/yyyy"));
        command.Parameters.AddWithValue("@Add", "Right_Side_Add");
      
        SqlDataAdapter da = new SqlDataAdapter(command);
        DataSet dt = new DataSet();
        da.Fill(dt);

        dllImages.DataSource = dt;
        dllImages.DataBind();
        con.Close();
  
}

推荐答案

试试这个



Try this

SqlCommand command = new SqlCommand("SELECT TOP 5 * FROM [SlideShowTable1] where (startddate <= @sdate) AND (endddate >=@edate) AND AddType=@Add ORDER BY newid() ", con);


您可以尝试使用 RAND() [ ^ ]的功能SQL Server。请参阅类似的解决方案:

如何申请SQL中的随机行? [ ^ ]

从中随机选择行大表 [ ^ ]



- Amit
You can try using RAND()[^] function of SQL Server. See the similar solution:
How to request a random row in SQL?[^]
Selecting Rows Randomly from a Large Table[^]

--Amit


这篇关于请有人告诉我如何显示随机记录?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆