lrdchelp
asked on
ASP and/or SQL code puzzle
I am bringing data into an ASP Classic page from a MS SQL database . The 3 fields to display are first_name, last_name, and proj_title. The first and last names are joined as a single hyperlink by a function.
My problem is that when the project title field appears in the code after the full name (hyperlink), it does not display on the web page; there is no error--it just does not show up.
When I removed the hyperlink, all 3 fields display perfectly. Also, when I put the project title field first, everything is fine (but I need it to appear after the name).
I'm attaching the code ve narrowed it down to the code at the beginning of line 44. Any help would be appreciated.
Shari
My problem is that when the project title field appears in the code after the full name (hyperlink), it does not display on the web page; there is no error--it just does not show up.
When I removed the hyperlink, all 3 fields display perfectly. Also, when I put the project title field first, everything is fine (but I need it to appear after the name).
I'm attaching the code ve narrowed it down to the code at the beginning of line 44. Any help would be appreciated.
Shari
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!--#include file="../Connections/EWI.asp" -->
<%
Dim rsprojdir__MMColParam
rsprojdir__MMColParam = "62"
If (Request.QueryString("Dir_ID") <> "") Then
rsprojdir__MMColParam = Request.QueryString("Dir_ID")
End If
%>
<%
Dim rsprojdir
Dim rsprojdir_cmd
Dim rsprojdir_numRows
Set rsprojdir_cmd = Server.CreateObject ("ADODB.Command")
rsprojdir_cmd.ActiveConnection = MM_EWI_STRING
rsprojdir_cmd.CommandText = "SELECT * FROM dbo.DIRECTORY INNER JOIN dbo.LINK_DIR_PROJ ON dbo.DIRECTORY.Dir_ID = dbo.LINK_DIR_PROJ.Dir_ID WHERE dbo.LINK_DIR_PROJ.Proj_ID=? ORDER BY Last_Name, First_Name"
rsprojdir_cmd.Prepared = true
rsprojdir_cmd.Parameters.Append rsprojdir_cmd.CreateParameter("param1", 200, 1, 255, rsprojdir__MMColParam) ' adVarChar
Set rsprojdir = rsprojdir_cmd.Execute
rsprojdir_numRows = 0
%>
<%
Function MM_joinChar(firstItem)
If (firstItem <> "") Then
MM_joinChar = "&"
Else
MM_joinChar = ""
End If
End Function
%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<%=(rsprojdir.Fields.Item("Proj_Title").Value)%> <a href="../people/person-detail.asp?<%= Server.HTMLEncode(MM_keepURL) & MM_joinChar(MM_keepURL) & "Dir_ID=" & rsProjdir.Fields.Item("Dir_ID").Value %>"><%=(rsprojdir.Fields.Item("First_Name").Value)%> <%=(rsprojdir.Fields.Item("Last_Name").Value)%></a>
</body>
</html>
<%
rsprojdir.Close()
Set rsprojdir = Nothing
%>
Is there anything goofy about that row if you look at the HTML output using the browser's View Source feature?
ASKER
This is the code in View source when the title is before the name:
GSR<a href="../people/person-det ail.asp?Di r_ID=359"> Meghan&nbs p;Bathgate </a>,  ;
This is the code in view source with the project title after
<a href="../people/person-det ail.asp?Di r_ID=359"> Meghan&nbs p;Bathgate </a>
I do notice that the title does not appear in the code (as well as in the browser) when it follows so I'm guessing I have a code problem in that segment of code that is preventing it from displaying. I just don't know what it is.
Shari
GSR<a href="../people/person-det
This is the code in view source with the project title after
<a href="../people/person-det
I do notice that the title does not appear in the code (as well as in the browser) when it follows so I'm guessing I have a code problem in that segment of code that is preventing it from displaying. I just don't know what it is.
Shari
Even if you put it on line 45 by itself? (so the name hyperlink remains on line 44)
Also put a literal string in that response.write to see if it is actually executing.
<%= "Title: " & (rsprojdir.Fields.Item("Pr oj_Title") .Value) %>
Also put a literal string in that response.write to see if it is actually executing.
<%= "Title: " & (rsprojdir.Fields.Item("Pr
ASKER
angell
I fixed the code to make sure there was nio ambiguity and the recordset within Dreamweaver returned the proper values.
However, now I receive a 500 error.
Shari
I fixed the code to make sure there was nio ambiguity and the recordset within Dreamweaver returned the proper values.
However, now I receive a 500 error.
Shari
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Thanks all for your help.
At first I wasn't sure that Worthyking1's solution was appropriate because Dir_ID is the first record in the table, but I tried substituting a different field that was closer to Last_Name than Proj_Title was and it worked.
So I used Worthyking1's code and it worked! Thanks so much!
Shari
At first I wasn't sure that Worthyking1's solution was appropriate because Dir_ID is the first record in the table, but I tried substituting a different field that was closer to Last_Name than Proj_Title was and it worked.
So I used Worthyking1's code and it worked! Thanks so much!
Shari
ASKER
I thought it was fixed, but there is one more problem. The title only appears next to the first person's name. It does not repeat.
Any ideas?
Shari
Any ideas?
Shari
ASKER
I figured it out. No need to respond.
SELECT * ... JOIN
the problem is that some column names might exist in both tables... and that will result in problems.
please replace the * by the column names you need, really, with the table name (or it's alias) so that there is no ambiguity
for example, like this (guessing which table first_name and last_name are coming from) :
Open in new window