Link to home
Start Free TrialLog in
Avatar of amira123
amira123Flag for United States of America

asked on

Can't pass vaiable from from to another ASP ..

This question is a continuation to these two topics:

https://www.experts-exchange.com/jsp/qManageQuestion.jsp?ta=asp&qid=20162452

and

https://www.experts-exchange.com/jsp/qManageQuestion.jsp?qid=20161841

I have a form in a script edirrecord.asp that is supposed to pass on values to the script changerec.asp ... however I passes all blanks.  I am sure it's a simple typo because I had it working with much less fields.  Can anyone point it out because I can't see it;

editrecord.asp is:
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
</HEAD>
<BODY>

<%

dim ID
ID=Request.QueryString("UserName")

dim PW
PW=Request.QueryString("Password")


dim conn
set conn=Server.CreateObject("ADODB.Connection")

dim strConnectString
strConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Server.Mappath("/data/Students.mdb") & ";"

conn.Open strConnectString

dim rs 'record set
dim sql 'sql statement

set rs = Server.CreateObject("ADODB.RecordSet")

'Old sql
'sql = "Select * from students where UserName =" & ID
'end of old sql

'New sql
'sql = "SELECT students.* FROM students WHERE (((students.UserName)=" & ID & ") AND ((students.Password)=" & PW & "))"
'end of new sql

sql = "SELECT * FROM students WHERE UserName=" & ID & " AND Password='" & PW & "'"

rs.Open sql, conn
%>

<hr>
<FORM action="../database/changerec.asp" method=POST id=form1 name=form1>
<table border=0>
<input type = hidden size=50 name="UserName" value = "<%=rs("UserName")%>">

<tr><td width = 100>Password</td><td><input type = "text" size="50" name="Password" value ="<%=rs("Password")%>"></td></tr>
<tr><td width = 100>FirstName</td><td><input type = "text" size="50" name="FirstName" value ="<%=rs("FirstName")%>"></td></tr>
<tr><td width = 100>MiddleName</td><td><input type = "text" size="50" name="MiddleName" value ="<%=rs("MiddleName")%>"></td></tr>
<tr><td width = 100>LastName</td><td><input type = "text" size="50" name="LastName" value ="<%=rs("LastName")%>"></td></tr>
<tr><td width = 100>Address</td><td><input type = "text" size="50" name="Address" value ="<%=rs("Address")%>"></td></tr>
<tr><td width = 100>AptNumber</td><td><input type = "text" size="50" name="AptNumber" value ="<%=rs("AptNumber")%>"></td></tr>
<tr><td width = 100>City</td><td><input type = "text" size="50" name="City" value ="<%=rs("City")%>"></td></tr>
<tr><td width = 100>State</td><td><input type = "text" size="50" name="State" value ="<%=rs("State")%>"></td></tr>
<tr><td width = 100>ZipCode</td><td><input type = "text" size="50" name="ZipCode" value ="<%=rs("ZipCode")%>"></td></tr>
<tr><td width = 100>Country</td><td><input type = "text" size="50" name="Country" value ="<%=rs("Country")%>"></td></tr>
<tr><td width = 100>Phone</td><td><input type = "text" size="50" name="Phone" value ="<%=rs("Phone")%>"></td></tr>
<tr><td width = 100>Fax</td><td><input type = "text" size="50" name="Fax" value ="<%=rs("Fax")%>"></td></tr>
<tr><td width = 100>MobilePhone</td><td><input type = "text" size="50" name="MobilePhone" value ="<%=rs("MobilePhone")%>"></td></tr>
<tr><td width = 100>OtherPhone</td><td><input type = "text" size="50" name="OtherPhone" value ="<%=rs("OtherPhone")%>"></td></tr>
<tr><td width = 100>Pager</td><td><input type = "text" size="50" name="Pager" value ="<%=rs("Pager")%>"></td></tr>
<tr><td width = 100>BusinessPhone</td><td><input type = "text" size="50" name="BusinessPhone" value ="<%=rs("BusinessPhone")%>"></td></tr>
<tr><td width = 100>EmailAddress</td><td><input type = "text" size="50" name="EmailAddress" value ="<%=rs("EmailAddress")%>"></td></tr>


<tr><td></td><td><input type="submit" value = "submit" id=submit1 name=submit1></td></tr>
</table>
<%conn.close%>
</FORM>

<hr>
</BODY>
</HTML>



changerec.asp is:
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<TITLE></TITLE>
</HEAD>

<BODY>


<%

Dim ID, Password, FirstName, MiddleName, LastName, Address, AptNumber, City, State, ZipCode, Country, Phone, Fax, MobilePhone, OtherPhone, Pager, BusinessPhone, EmailAddress


ID = Request.QueryString("UserName")
Password = Request.QueryString("Password")
FirstName = Request.QueryString("FirstName")
MiddleName = Request.QueryString("MiddleName")
LastName = Request.QueryString("LastName")
Address = Request.QueryString("Address")
AptNumber = Request.QueryString("AptNumber")
City = Request.QueryString("City")
State = Request.QueryString("State")
ZipCode = Request.QueryString("ZipCode")
Country = Request.QueryString("Country")
Phone = Request.QueryString("Phone")
Fax = Request.QueryString("Fax")
MobilePhone = Request.QueryString("MobilePhone")
OtherPhone = Request.QueryString("OtherPhone")
Pager = Request.QueryString("Pager")
BusinessPhone = Request.QueryString("BusinessPhone")
EmailAddress = Request.QueryString("EmailAddress")

response.write "1"
response.write UserName
response.write LastName

dim conn
set conn=Server.CreateObject("ADODB.Connection")

dim strConnectString

strConnectString = "Provider=Microsoft.Jet.OLEDB.4.0;" & "Data Source=" & Server.Mappath("/data/Students.mdb") & ";"

conn.Open strConnectString

dim rs 'record set
dim sql 'sql statement

set rs = Server.CreateObject("ADODB.RecordSet")

'sql = "UPDATE students SET "
'sql = sql &
'         & "LastName='" & LastName & "',"_
'         & "FirstName='" & FirstName &"',"_
'         & "Password=" & Password & " WHERE UserName="& ID


sql = "UPDATE students SET "
sql = sql & "LastName='" & LastName & "', "
sql = sql & "FirstName='" & FirstName & "', "
sql = sql & "City='" & City & "'"
sql = sql & " WHERE UserName=" & ID

response.write sql

'Set RS = Conn.Execute(SQLStmt)

set rs = Conn.Execute(sql)


   response.write "<font face='arial' size=4>"
    response.write "<br><br>Your changes have been saved."
    response.write "</b></font>"

  Conn.Close

%>
<p>
<p>
<A HREF="../database_copy(1)/logon.htm">Login Again</A>

</BODY>
</HTML>
Avatar of amira123
amira123
Flag of United States of America image

ASKER

I used this line for a test:
response.write "1"
response.write UserName
response.write LastName
and it only shows a one.
This is the error message I am getting:
1UPDATE students SET LastName='', FirstName='', City='' WHERE UserName=

Microsoft JET Database Engine error '80040e14'

Syntax error (missing operator) in query expression 'UserName='.

/TAA/database/changerec.asp, line 69
ASKER CERTIFIED SOLUTION
Avatar of hongjun
hongjun
Flag of Singapore image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Use this update sql statement. More less error-prone
sql = "UPDATE students SET "
sql = sql & "LastName='" & replace(LastName,"'","''") & "', "
sql = sql & "FirstName='" & replace(FirstName,"'","''") & "', "
sql = sql & "City='" & replace(City,"'","''") & "'"
sql = sql & " WHERE UserName=" & ID


Make sure that ID is an integer field. If it is a string field, do this
sql = "UPDATE students SET "
sql = sql & "LastName='" & replace(LastName,"'","''") & "', "
sql = sql & "FirstName='" & replace(FirstName,"'","''") & "', "
sql = sql & "City='" & replace(City,"'","''") & "'"
sql = sql & " WHERE UserName='" & replace(ID,"'","''") & "'"

hongjun
Thanks that worked.  I have on more question:

If I leave some fields blank it gives this error message:

Microsoft JET Database Engine error '80004005'

Field 'students.AptNumber' cannot be a zero-length string


How do I fix that?

(BTW I raised the points to 75)