Solved

Record Update ASP conn.Execute sql

Posted on 2008-10-29
9
1,863 Views
Last Modified: 2013-12-07
For some reason it doesnt like my code:
I can Add and Delete Records from my table fine, but Update will n ot fly.
Any ideas?

Basically I am running the code that I revised based on the
http://www.w3schools.com/ADO/ado_update.asp

<html>
<body><h2>Update Record</h2>
 
<%
set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open "D:\Performance Assurance Team\East_pmi.mdb"
 
cid=Request.Form("CAC")
 
if Request.form("Date Closed")="" then
  set rs=Server.CreateObject("ADODB.Recordset")
  rs.open "SELECT * FROM tblProactiveIssues WHERE CAC='" & cid & "'",conn
  %>
  <form method="post" action="RecordUpdate.asp">
  <table>
  <%for each x in rs.Fields%>
  <tr>
  <td><%=x.name%></td>
  <td><input name="<%=x.name%>" value="<%=x.value%>"></td>
  <%next%>
  </tr>
  </table>
  <br /><br />
  <input type="submit" value="Update record">
  </form>
<%
else
  sql="UPDATE tblProactiveIssues SET"
  sql=sql & "Region='" & Request.Form("Region") & "',"
  sql=sql & "Date Added='" & Request.Form("Date Added") & "',"
  sql=sql & "CAC='" & Request.Form("CAC") & "',"
  sql=sql & "CKTID='" & Request.Form("CKTID") & "',"
  sql=sql & "ACNA='" & Request.Form("ACNA") & "',"
  sql=sql & "Customer='" & Request.Form("Customer") & "',"
  sql=sql & "Ticket Number='" & Request.Form("Ticket Number") & "',"
  sql=sql & "Ticket Source='" & Request.Form("Ticket Source") & "',"
  sql=sql & "Monitoring Source='" & Request.Form("Monitoring Source") & "',"
  sql=sql & "Date Closed='" & Request.Form("Date Closed") & "',"
  sql=sql & "Disposition Code='" & Request.Form("Disposition Code") & "',"
  sql=sql & "Summary='" & Request.Form("Summary") & "'"
  sql=sql & " WHERE CAC='" & cid & "'"
  'on error resume next
   'conn.Execute sql
  if err<>0 then
    response.write("No update permissions!")
  else 
   Response.Redirect "View.asp" 
    'response.write("Record " & cid & " was updated!")
  end if 
end if
conn.close
%></body>
</html>

Open in new window

0
Comment
Question by:vzdog
  • 4
  • 3
  • 2
9 Comments
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 22833425
you have no space between SET and Region:
  sql="UPDATE tblProactiveIssues SET "
  sql=sql & " Region='" & Request.Form("Region") & "',"

Open in new window

0
 
LVL 82

Expert Comment

by:hielo
ID: 22833440
Do you get any runtime errors?

Also, I see:
"Date Added='" & Request.Form("Date Added") & "',"

is Date added a Date/Time Field? IF yes, then
 Request.Form("Date Added") needs to be in mm/dd/yyyy format

AND the value needs # instead of apostrophes:
"Date Added=#" & Request.Form("Date Added") & "#,"
0
 

Author Comment

by:vzdog
ID: 22836872
Some of my fields are numeric & alpha combined so is there something I should be using to indicate as such?
Date added is a date so how would I specify the format within the code?
0
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

 
LVL 82

Expert Comment

by:hielo
ID: 22836913
numeric field values should NOT be enclosed in apostrophes
date field values  need to be enclosed in #
other values need to be enclosed in apostrophes
ex:

Update table Set aquisitionDate=#11/29/2008#, value=40000, condition='excellent' WHERE product_id=3
0
 

Author Comment

by:vzdog
ID: 22843412
What about when it is a combination of both in the same field?
ie:
PD123456
or
SHD2HH4
0
 

Author Comment

by:vzdog
ID: 22843429
Also I am getting an error:
Error Type:
Microsoft JET Database Engine (0x80040E14)
Syntax error in UPDATE statement.
/PMI/RecordUpdate.asp, line 44

it is:

conn.Execute sql
0
 
LVL 143

Expert Comment

by:Guy Hengel [angelIII / a3]
ID: 22844118
please response.write the value of sql variable before the execute, so you can inspect what goes wrong.
0
 

Author Comment

by:vzdog
ID: 22844169
I have no idea what you are telling me to do..
0
 
LVL 82

Accepted Solution

by:
hielo earned 500 total points
ID: 22844986
>>What about when it is a combination of both in the same field?
ie:
PD123456 or SHD2HH4

You need to look at the definition of your table and see if the field data type of your Table is numeric. You are focusing on the contents of your table. You need to focus on the definition of your table.

On another note, those are NOT numeric values. You can add numbers:
1+3=4

You cannot add: PD123456 + SHD2HH4

So that MUST be text field, in which case you need to enclose the values in apostrophes.
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

How to Create User-Defined Aggregates in Oracle Before we begin creating these things, what are user-defined aggregates?  They are a feature introduced in Oracle 9i that allows a developer to create his or her own functions like "SUM", "AVG", and…
Using SQL Scripts we can save all the SQL queries as files that we use very frequently on our database later point of time. This is one of the feature present under SQL Workshop in Oracle Application Express.
Via a live example show how to connect to RMAN, make basic configuration settings changes and then take a backup of a demo database
This video shows how to copy an entire tablespace from one database to another database using Transportable Tablespace functionality.

830 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question