...

View Full Version : Coldfusion help



fvnbab
04-13-2012, 10:27 AM
the aim is for the client(fictious) to update their details
so i hav created 4 cfm pages
1st page to search for a member
2nd page is the results page
3rd page to update the details for example details such as name is update
4th page finaaaly update into my database and the message should come up as "member updated" All this pages are put on the server as well.
My problems are well first of all i can only edit one client out of 10 this code is in the 2nd page and the currrent code is

<cfquery name = "Recordset1" datasource = "b1008321-access">
SELECT * FROM Member WHERE first_name LIKE '%seth%'
</cfquery>
<html>
<head><title>Search for Member</title></head>
<body bgcolor="#FFFFFF">
<table border="1">
<tr><td>Member Name</td></tr>
<cfoutput query = "Recordset1">
<tr><td><a href = "memberupdate3.cfm?memberID=#memberID#"> #first_name#</a></td></tr>
</cfoutput>
</table>
</body>
</html>
i want to be able to search for all the clients not just one
And the other problem is on the 4th page error message comes up
Error Executing Database Query.

[Macromedia][SequeLink JDBC Driver][ODBC Socket][Microsoft][ODBC Microsoft Access Driver] Syntax error in UPDATE statement.
And the code i put for tht is

<cfquery datasource="b1008321-access">
UPDATE Member
SET first name='# FORM.first_name#', last name='# FORM.last_name#', address='# FORM.address#', Town='# FORM.Town#', date joined='# FORM.date_joined#'
WHERE memberID = #memberID#
</cfquery>
<html>
<body>
<h1>File Updated</h1></body>
</html>

Gjslick
04-14-2012, 07:21 PM
You have spaces in the column names in your query. You can't just have "first name", this confuses the query parser. That should be changed to either "firstName" or "first_name". A column name basically shouldn't have a space in it.

I highlighted the problems in red below:


<cfquery datasource="b1008321-access">
UPDATE Member
SET first name='# FORM.first_name#', last name='# FORM.last_name#', address='# FORM.address#', Town='# FORM.Town#', date joined='# FORM.date_joined#'
WHERE memberID = #memberID#
</cfquery>


I'd recommend losing the spaces, but if you *really* need to keep them, then you need to surround each column name that has spaces with square brackets in your query. For example, you could change your query to this: (with a little better formatting...)



<cfquery datasource="b1008321-access">
UPDATE
Member
SET
[first name] = '#FORM.first_name#',
[last name] = '#FORM.last_name#',
address = '#FORM.address#',
Town = '#FORM.Town#',
[date joined] = '#FORM.date_joined#'
WHERE
memberID = #memberID#
</cfquery>



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum