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

C# 我想从数据库中随机选择一个图像,并在aspx页面上查看它,c#,asp.net,sql-server,C#,Asp.net,Sql Server,我有一个包含图像的数据库,现在我想从数据库中随机选择一个图像,并在aspx页面上查看它 我知道如何根据id从数据库中读取图像 我正在使用MS Sql和C编程。您只需从图像表中选择一条随机记录,如下所示: SELECT TOP 1 ... FROM Images ORDER BY NEWID() 任何数据库都有选择随机记录的方法,请查看此处以查找您的数据库: 使用MySQL随机选择一行: 使用PostgreSQL随机选择一行: 使用Microsoft SQL Server随机选择一行: 使用IB

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

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


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

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

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

任何数据库都有选择随机记录的方法,请查看此处以查找您的数据库:

使用MySQL随机选择一行:

使用PostgreSQL随机选择一行:

使用Microsoft SQL Server随机选择一行:

使用IBM DB2随机选择一行

使用Oracle选择随机记录:


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


将告诉您如何为图像提供服务,我将使用sql来选择随机图像,以获得其他答案。

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

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

能帮忙吗?

你能更具体地说一下你需要什么帮助吗?
SELECT column FROM table
ORDER BY RANDOM()
LIMIT 1
SELECT TOP 1 column FROM table
ORDER BY NEWID()
SELECT column, RAND() as IDX 
FROM table 
ORDER BY IDX FETCH FIRST 1 ROWS ONLY
SELECT column FROM
( SELECT column FROM table
ORDER BY dbms_random.value )
WHERE rownum = 1
int maxIdValue = MaxIdFromDatabase();
int randomId = new Random().Next(maxIdValue);
Image image = GetImage(randomId);