我想从数据库中随机选择一个图像并在aspx页面上查看它

时间:2011-01-12 16:32:05

标签: c# asp.net sql-server

我有一个包含图像的数据库,现在我想从数据库中随机选择一个图像并在aspx页面上查看。

我知道如何根据id从数据库中读取图像。

我正在使用MS Sql和C#编程。

4 个答案:

答案 0 :(得分:6)

任何数据库都有办法选择随机记录,看看这里找到你的数据库:http://www.petefreitag.com/item/466.cfm

使用MySQL选择一个随机行:

SELECT column FROM table
ORDER BY RAND()
LIMIT 1

使用PostgreSQL选择一个随机行:

SELECT column FROM table
ORDER BY RANDOM()
LIMIT 1

使用Microsoft SQL Server选择随机行:

SELECT TOP 1 column FROM table
ORDER BY NEWID()

选择IBM DB2的随机行

SELECT column, RAND() as IDX 
FROM table 
ORDER BY IDX FETCH FIRST 1 ROWS ONLY

使用Oracle选择随机记录:

SELECT column FROM
( SELECT column FROM table
ORDER BY dbms_random.value )
WHERE rownum = 1

答案 1 :(得分:1)

您只需要从图像表中选择一个随机记录,如下所示:

SELECT TOP 1 ... FROM Images
ORDER BY NEWID()

答案 2 :(得分:0)

您将需要一种通过HTTP向最终用户提供图像的方法。这可以是几种方式中的任何一种,例如创建自己的http处理程序,简单地将图像名称作为查询字符串参数传递给aspx页面,然后将图像发回(而不是html)。

This Article会告诉你如何提供图像,我让sql选择随机图像到其他答案。

答案 3 :(得分:0)

您可以获取最大图像ID,并在生成随机数后使用此值作为maximus值,如下例所示:

int maxIdValue = MaxIdFromDatabase();
int randomId = new Random().Next(maxIdValue);
Image image = GetImage(randomId);

可以帮忙吗?