Sql 按索引而不是按名称找到的字段

Sql 按索引而不是按名称找到的字段,sql,ms-access,asp-classic,adodb,Sql,Ms Access,Asp Classic,Adodb,这是我的问题,我有一个疑问: SQL = "SELECT * FROM Items, Genre, Artist WHERE Artist.ID = " & SelArtist & " AND Items.Artist = Artist.ID AND Items.Genre = Genre.ID" 我需要从中获取项目。歌曲。 如果我使用“索引打印”,它将全部工作并打印正确的字段 Respo

这是我的问题,我有一个疑问:

SQL = "SELECT * 
       FROM Items, Genre, Artist 
       WHERE Artist.ID = " & SelArtist & " AND 
             Items.Artist = Artist.ID AND 
             Items.Genre = Genre.ID" 
我需要从中获取
项目。歌曲
。
如果我使用“索引打印”,它将全部工作并打印正确的字段

Response.Write(Recordset.Fields(3).Value)   
但是如果我选择使用字段名

Response.Write(Recordset.Fields(“Items.Song”))

然后它给出了以下错误:

ADODB.记录集错误“800a0cc1”

在与请求的项对应的集合中找不到项 名字或序号

如果我没有错的话,这意味着他不能简单地找到我正在搜索的字段,通常是因为名称错了,或者只是查询错误。就我而言,我确信这两种情况都不存在,所以我真的不知道该怎么办

提前非常感谢您

尝试更改为:

Response.Write(Recordset.Fields("Song"))

您不能给列名加前缀,您的记录集独立于您的查询,它只知道有一个名为“Song”的列,它不知道它来自哪个表。这是原因之一。您无法控制不明确的列名。