我需要使用我多次成功完成的查询技术,从我的数据库创建一个包含查询数据的选择框。但是,今天当我创建新的选择框时,页面一直告诉我错误“ADODB.Fields错误'800a0cc1'项目在集合中找不到......”。
起初我认为这是我的SQL查询造成了这个错误,但是我已经在ACCES上测试了它,它可以产生我预期的输出。所以现在我卡住了......我不知道我的编码发生了什么。
所以请帮帮我..谢谢。下面是我的代码
user_id = 1
client_id = 7
response.Write "user_id = " & user_id
Dim rsClient
set rsClient = Server.CreateObject("ADODB.Recordset")
rsClient.ActiveConnection = Conn_string
rsClient.Source ="SELECT tbl_asgnClient.* , tbl_client.* FROM tbl_asgnClient INNER JOIN tbl_client ON tbl_asgnClient.client_id = tbl_client.client_id WHERE tbl_asgnClient.user_id =" & user_id & ""
rsClient.CursorType = 0
rsClient.CursorLocation = 3
rsClient.LockType = 3
rsClient.Open()
rsClient.PageSize = 20
%>
<html>
<body>
<select name = "client_id" onChange="showActivity(this.value)">
<option selected>select client</option>
<%
if rsClient.eof then
call displayNotFoundRecord
Else
Do Until rsClient.Eof
%>
<option value="<%=rsClient.fields.item("client_id")%>"><%=rsClient.fields.item("client_id")%></option>
<%
rsClient.movenext
Loop
End if
%>
</select>
我可以确保除了SQL之外没有其他任何东西可以导致此错误..因为我尝试使用以下查询更改SQL并且它工作得很好。
rsClient.Source ="SELECT tbl_asgnClient.* FROM tbl_asgnClient WHERE tbl_asgnClient.user_id =" & user_id & " "
或者这......
rsClient.Source ="SELECT tbl_client.* FROM tbl_client "
我还要确保我目前使用的一次能够在MS ACCESS中产生输出。所以请帮助我..
答案 0 :(得分:9)
您的SQL有两个具有相同名称的列 - 虽然值相同,但ADO并不知道您想要哪个字段