我有一个包含图像的数据库,现在我想从数据库中随机选择一个图像并在aspx页面上查看。
我知道如何根据id从数据库中读取图像。
我正在使用MS Sql和C#编程。
答案 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);
可以帮忙吗?