Errors executing SQL query in EJB 2.0 QL using RAD-6.0 on WAS-6.0
I have 3 tables in my database which is running on DB2 UDB ESE V-8.2
The tables are emp, dept & policy_master respectively
Table emp has columns id, name, deptid, and policyid.Here dept id and policyid are foreign keys which are referenced by dept and policy_master tables
In the dept table column deptid is primay key and non-key is dept name
In my policy_master table i have column policyid as primay key and non-key column is policy name
Now i want to find records in emp table by deptid column in emp table which should return a emp local interface
Now for that i had written ejbql "select object(o) from emp o where o.deptid=?1" using finder method namely findByDeptid(String deptid) in emp entity bean.
When i execute the entity bean using RAD Test Client,I am getting following 2 errors namely:
1. "WQRY0036E: Emp o does not have a field deptid in ejb-jar.xml "
2. "Class must implement the inherited abstract method CMPEmpLocalHome.findByDeptid(String) EJSLocalCMPEmpHome_0783c8c6.java TestEJB/ejbModule/sample"
When i analysed the problem i found that the deptid in emp bean is not defined as a CMP field in the map file & deployment descriptor that is why i am not able to write such kind of ejb queries.The deptid field in emp table is having a foreign key relationship with dept table.
Detailed Discription of tables structure
Table EMP
Column name Type name Length Scale Nulls
EMPID VARCHAR 4 0 No (Primary Key)
FIRSTNAME VARCHAR 10 0 Yes
LATSNAME VARCHAR 10 0 Yes
DEPTID VARCHAR 4 0 No (Foreign Key Refrenced By Dept Table)
POLICY_ID VARCHAR 10 0 No (Foreign Key Refrenced By Policy Master Table)
Table DEPT
Column name Type name Length Scale Nulls
DEPTID VARCHAR 4 0 No (Primary Key)
DEPTNAME VARCHAR 10 0 Yes
DEPTLOCATION VARCHAR 10 0 Yes
Table POLICY_MASTER
Column name Type name Length Scale Nulls
POLICY_ID VARCHAR 10 0 No (Primary Key)
POLICY_NAME VARCHAR 10 0 Yes
Now I want to find all record using findByDeptid method in EMP table. So for that what ejb ql I have to write.
I used "select object(o) from emp where deptid=?1" then I am getting error in "ejb-jar.xml" that field does not exist.
So please tell me how can I find records in emp table so that the bean returns a local interface.
Please provide some assisstance as soon as possible
Thanks in Advance,
Mahesh.B.S
I have 3 tables in my database which is running on DB2 UDB ESE V-8.2
The tables are emp, dept & policy_master respectively
Table emp has columns id, name, deptid, and policyid.Here dept id and policyid are foreign keys which are referenced by dept and policy_master tables
In the dept table column deptid is primay key and non-key is dept name
In my policy_master table i have column policyid as primay key and non-key column is policy name
Now i want to find records in emp table by deptid column in emp table which should return a emp local interface
Now for that i had written ejbql "select object(o) from emp o where o.deptid=?1" using finder method namely findByDeptid(String deptid) in emp entity bean.
When i execute the entity bean using RAD Test Client,I am getting following 2 errors namely:
1. "WQRY0036E: Emp o does not have a field deptid in ejb-jar.xml "
2. "Class must implement the inherited abstract method CMPEmpLocalHome.findByDeptid(String) EJSLocalCMPEmpHome_0783c8c6.java TestEJB/ejbModule/sample"
When i analysed the problem i found that the deptid in emp bean is not defined as a CMP field in the map file & deployment descriptor that is why i am not able to write such kind of ejb queries.The deptid field in emp table is having a foreign key relationship with dept table.
Detailed Discription of tables structure
Table EMP
Column name Type name Length Scale Nulls
EMPID VARCHAR 4 0 No (Primary Key)
FIRSTNAME VARCHAR 10 0 Yes
LATSNAME VARCHAR 10 0 Yes
DEPTID VARCHAR 4 0 No (Foreign Key Refrenced By Dept Table)
POLICY_ID VARCHAR 10 0 No (Foreign Key Refrenced By Policy Master Table)
Table DEPT
Column name Type name Length Scale Nulls
DEPTID VARCHAR 4 0 No (Primary Key)
DEPTNAME VARCHAR 10 0 Yes
DEPTLOCATION VARCHAR 10 0 Yes
Table POLICY_MASTER
Column name Type name Length Scale Nulls
POLICY_ID VARCHAR 10 0 No (Primary Key)
POLICY_NAME VARCHAR 10 0 Yes
Now I want to find all record using findByDeptid method in EMP table. So for that what ejb ql I have to write.
I used "select object(o) from emp where deptid=?1" then I am getting error in "ejb-jar.xml" that field does not exist.
So please tell me how can I find records in emp table so that the bean returns a local interface.
Please provide some assisstance as soon as possible
Thanks in Advance,
Mahesh.B.S
Similar Messages
-
I have an package with source , data flow and destination to execute on begin and commit.
in the below i have just used for questioning purpose with diagram removing my Data Flow task explaining my problem
on execution, i get error as
[Execute SQL Task] Error: Executing the query "COMMIT TRAN DimCompanyCode" failed with the following error: "The COMMIT TRANSACTION request has no corresponding BEGIN TRANSACTION.". Possible failure reasons: Problems with the query, "ResultSet"
property not set correctly, parameters not set correctly, or connection not established correctly.
as mentioned , i have checked the ResultSet, parameters , connection establish.. all are fine.
Kindly advice on what has to be done.
ShanmugaRajTo avoid this error, the RetainSameConnection property should set to 'True' for the Connection Manager - Application_DB.
Narsimha -
Hi All,
I am working with labview application.
The database being used is Access.
The tables i have to use contains the special symbol - (not underscore.)
Let the table name be user-data
When i am executing the query select * from user-data its showing
error message syntax error in from clause.
I tried just typing the query in access also and got the same error.
I believe its because of the usage of the special character other than underscore in table name
Many applications using the same database is running in VB already.So there is no way for me to rename the table.
I know i am asking an invalid question.But still....
Is there any way for me to use the same table name and execute sql query.
Thanks in advanceThere should be. Try putting the table name in quotes - some DBMS use single quotes, some use double quotes. For example say the table name has a space in it. Try something like:
select * from 'a funny table';
or
select * from "a funny table"; (Actually, I think I'd try this one first...)
Failing this, you have two choices: change the name of the table, or dump Access and go with a real DBMS - which you will probibly want to do anyway because it will only be a matter of time before you start hitting a performance wall. Access is particularly bad if you have more than one process making a connection to it at a time. Interms of alternatives, there are a couple really good open-source products out there, as well as no-cost versions of Oracle and SQL-Server.
Mike...
Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion
"... after all, He's not a tame lion..."
Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps -
My coldfusion service crashes intermitantly and when I check
the application logs the error that I see for the time frame is the
one below. Does anyone know where I might begain to solve this?
Thanks!
Error Executing Database
Query.coldfusion.sql.DatabaseConnectionException: Timed out trying
to establish connection The specific sequence of files included or
processed is: E:\wwwroot\lifeworks\default.cfmI'm no expert, but thought I would try to be helpful.
I was getting this same error on a regular basis.
The short term fix was to restart the ODBC server service.
The long term fix was twofold:
1. I recreated the ODBC connection in ColdFusion
Administrator to use the system connection (I was using the SA and
PW for login).
2. I created a second user ODBC connection as well as the
system one under ODBC in Windows Server 2003.
I haven't had the problem since.
I also read a pretty good set of "stuff" to try from the help
area:
http://www.adobe.com/cfusion/knowledgebase/index.cfm?id=tn_17277
Hope this helps. -
Hi
DECLARE @XMLA nvarchar(3000)
, @DateSerial nvarchar(35);
-- Change date to format YYYYMMDDHHMMSS
SET @DateSerial = CAST(GETDATE() AS DATE);
--SELECT @DateSerial
Set @XMLA =
N' <Batch xmlns="http://schemas.microsoft.com/analysis services/2003/engine">
<ErrorConfiguration xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2"
xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2" xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200"
xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200">
<KeyErrorLimit>-1</KeyErrorLimit>
<KeyNotFound>IgnoreError</KeyNotFound>
<NullKeyNotAllowed>IgnoreError</NullKeyNotAllowed>
</ErrorConfiguration>
<Parallel>
<Process xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ddl2="http://schemas.microsoft.com/analysisservices/2003/engine/2" xmlns:ddl2_2="http://schemas.microsoft.com/analysisservices/2003/engine/2/2"
xmlns:ddl100_100="http://schemas.microsoft.com/analysisservices/2008/engine/100/100" xmlns:ddl200="http://schemas.microsoft.com/analysisservices/2010/engine/200" xmlns:ddl200_200="http://schemas.microsoft.com/analysisservices/2010/engine/200/200"
xmlns:ddl300="http://schemas.microsoft.com/analysisservices/2011/engine/300" xmlns:ddl300_300="http://schemas.microsoft.com/analysisservices/2011/engine/300/300">
<Object>
<DatabaseID>MultidimensionalProject5</DatabaseID>
<CubeID>giri</CubeID>
<MeasureGroupID>Fact Internet Sales</MeasureGroupID>
</Object>
<Type>ProcessFull</Type>
<WriteBackTableCreation>UseExisting</WriteBackTableCreation>
</Process>
</Parallel>
</Batch>';
EXEC (@XMLA) At SHALL-PCAdventureWorksDw ;
iam executive the query when iam getting below error.
[Execute SQL Task] Error: Executing the query "DECLARE
@XMLA nvarchar(3000)
, @DateSerial nvarch..." failed with the following error: "Incorrect syntax near '-'.". Possible failure reasons: Problems with the query, "ResultSet" property not set correctly, parameters not set
correctly, or connection not established correctly.
how to solve this error;
please help meWhat are you trying to do? What sort of data source is SHALL-PCAdventureWorksDw?
When you use EXEC() AT, I would execpt to see an SQL string to be passed to EXEC(), but you are passing an XML string????
If you explain why you think this would work in the first place, maybe we can help you.
Erland Sommarskog, SQL Server MVP, [email protected] -
Error Executing Database Query (Encountered [nullstring])
The attached code gives the following error message. I did
have nullstrings being submitted as the "notes" and "internal
notes," but I removed them in an (unsuccessful) attempt to solve
this problem. Can this be fixed? Thanks!
quote:
Error Executing Database Query.
Syntax error: Encountered "" at line 9, column 43.
The error occurred in
C:\ColdFusion8\wwwroot\Example\init.cfm: line 6
4 : </head>
5 : <body>
6 : <CFQUERY NAME="init" DATASOURCE="Example">
7 : CREATE TABLE programs(
8 : ID int,
SQLSTATE 42X01
SQL CREATE TABLE programs( ID int, program_ID int, name
varchar(20), long_name varchar(50), creator_email varchar(50),
notes varchar(50), internal_notes varchar(50), is_public bool );
INSERT INTO programs( ID, program_ID, name, long_name,
creator_email, is_public ) VALUES( 0, 1, "Basic", "Basic
(pre-selected)", "[email protected]", true ); SELECT * FROM
programs;
VENDORERRORCODE 30000
DATASOURCE Example
Resources:
* Check the ColdFusion documentation to verify that you are
using the correct syntax.
* Search the Knowledge Base to find a solution to your
problem.
Browser Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6
Remote Address 127.0.0.1
Referrer
Date/Time 20-Feb-08 11:53 PM
Stack Trace
at
cfinit2ecfm949254281.runPage(C:\ColdFusion8\wwwroot\Example\init.cfm:6)
at
cfinit2ecfm949254281.runPage(C:\ColdFusion8\wwwroot\Example\init.cfm:6)
[ginormous Java stacktrace omitted]I whittled my SQL down to the first query and added the
transaction block, but the error remains. Thanks for your time!
quote:
Error Executing Database Query.
Syntax error: Encountered "" at line 9, column 51.
The error occurred in
C:\ColdFusion8\wwwroot\Example\init.cfm: line 7
5 : <body>
6 : <CFTRANSACTION>
7 : <CFQUERY NAME="init" DATASOURCE="Example">
8 : CREATE TABLE programs(
9 : ID int,
SQLSTATE 42X01
SQL CREATE TABLE programs( ID int, program_ID int, name
varchar(20), long_name varchar(50), creator_email varchar(50),
notes varchar(50), internal_notes varchar(50), is_public bool );
VENDORERRORCODE 20000
DATASOURCE Example
Resources:
* Check the ColdFusion documentation to verify that you are
using the correct syntax.
* Search the Knowledge Base to find a solution to your
problem.
Browser Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
rv:1.8.1.6) Gecko/20070725 Firefox/2.0.0.6
Remote Address 127.0.0.1
Referrer
Date/Time 22-Feb-08 10:02 AM
Stack Trace
at
cfinit2ecfm949254281.runPage(C:\ColdFusion8\wwwroot\Example\init.cfm:7)
at
cfinit2ecfm949254281.runPage(C:\ColdFusion8\wwwroot\Example\init.cfm:7) -
Error Executing Database Query - Help!
I have a cfquery code that looks like this:
<CFQUERY DATASOURCE="mydatabase" USERNAME="myuser" PASSWORD="mypassword" NAME="codelist" CACHEDWITHIN="#CreateTimeSpan(0,1,0,0)#">
SELECT *
FROM systemcode
WHERE (LEN(TRIM(systemcode)) = 2 OR LEN(TRIM(systemcode)) = 4)
<CFSWITCH EXPRESSION="#CAT#">
<CFCASE VALUE="1">AND (MID(systemcode,1,2) BETWEEN '01' AND '05')</CFCASE>
<CFCASE VALUE="2">AND (MID(systemcode,1,2) BETWEEN '06' AND '15')</CFCASE>
<CFCASE VALUE="3">AND (MID(systemcode,1,2) BETWEEN '16' AND '24')</CFCASE>
<CFCASE VALUE="4">AND (MID(systemcode,1,2) BETWEEN '25' AND '27')</CFCASE>
<CFCASE VALUE="5">AND (MID(systemcode,1,2) BETWEEN '28' AND '38')</CFCASE>
<CFCASE VALUE="6">AND (MID(systemcode,1,2) BETWEEN '39' AND '40')</CFCASE>
<CFCASE VALUE="7">AND (MID(systemcode,1,2) BETWEEN '41' AND '43')</CFCASE>
<CFCASE VALUE="8">AND (MID(systemcode,1,2) BETWEEN '44' AND '49')</CFCASE>
<CFCASE VALUE="9">AND (MID(systemcode,1,2) BETWEEN '50' AND '63')</CFCASE>
<CFCASE VALUE="10">AND (MID(systemcode,1,2) BETWEEN '64' AND '67')</CFCASE>
<CFCASE VALUE="11">AND (MID(systemcode,1,2) BETWEEN '68' AND '71')</CFCASE>
<CFCASE VALUE="12">AND (MID(systemcode,1,2) BETWEEN '72' AND '83')</CFCASE>
<CFCASE VALUE="13">AND (MID(systemcode,1,2) BETWEEN '84' AND '85')</CFCASE>
<CFCASE VALUE="14">AND (MID(systemcode,1,2) BETWEEN '86' AND '89')</CFCASE>
<CFCASE VALUE="15">AND (MID(systemcode,1,2) BETWEEN '90' AND '97')</CFCASE>
<CFCASE VALUE="16">AND (MID(systemcode,1,2) BETWEEN '98' AND '99')</CFCASE>
<CFDEFAULTCASE><CFLOCATION URL="somewhere.htm"></CFDEFAULTCASE>
</CFSWITCH>
ORDER BY systemcode
</CFQUERY>
This works perfectly in CF 5. However, when running in CF 8 I am getting the error message:
Error Executing Database Query.FUNCTION mydatabase.LEN does not exist The specific sequence of files included or processed is: /home/httpd/vhosts/somedomain.com/httpdocs/reference/systemcode.cfm, line: 24
(that refers to the above cfquery)
"mydatabase" is the name of the database and LEN is a function. It's checking for the length of systemcode to be 2 or 4, if they are then check if the value of #CAT# is 1 and that the first 2 characters is between 01 and 05 then select the row. I don't know why it works with CF5 but not CF8? It's driving me nuts. Any help is appreciated.I just don't see why
all of a sudden it doesn't work with CF8 and MySQL,
If you changed databases, that is the source of the problem, not upgrading CF. MySQL will not understand MS Access specific functions and vice versa. Do not expect queries written for one database type to automatically work with another. While there are sql standards, every database is different. It is quite common for database vendors to have totally different function names, data types and even syntax. You will need to throrougly review your database queries and convert any Access specific syntax, data types, etcetera to the MySQL equivalents.
Are there MySQL equivalent for these two functions (TRIM and
LEN)?
Yes. See the string functions section in the online mySQL docs.
http://dev.mysql.com/doc/refman/5.0/en/string-functions.html
I don't konw there was a TRIM and LEN in MS Access
database. I guess I was mixing them.
Yes. It is a little confusing because both CF and MS Access have those functions. In this specific case you were using the Access functions, not CF.
http://www.techonthenet.com/access/functions/index_alpha.php
>> Yes, I did put a
CFLOCATION inside the cfquery. Never encounter that
scenario so I didn't know if it works.
Well if you are using the code, it should be something you have tested. So you know how it behaves. But CFLOCATION really does not belong inside a database query.
` -
Error Executing Database Query
I have a web application written in CF8 with Oracle 11g as the back end. This application has been used very often for more than 6 years. Currently I am moving to CF10 and did only a little modification to the CF codes. When I ran the new application in my test server, everything seems to be working just fine except when it calls an Oracle Package. This action produces an error: Error Executing Database Query The strange thing is everything work before and after calling the procedure, I tested using cfabort This Oracle Package is still working in production server (CF8) but not when it is called by CF10. My question is: Is there any changes for CF10 when calling a procedures? or is there any hotfix that I'm not aware of? The code is as follow: SELECT case trim(to_char(SYSDATE, 'DAY')) WHEN 'MONDAY' then '1' else '2' end AS TodaysDate from dual
SELECT Count(other_id) AS NoRecFound FROM gl_dup_ids_ssns WHERE Trim(create_date) =
SELECT Count(other_id) AS NoRecFound FROM gl_dup_ids_ssns WHERE Trim(create_date) = CF codes to Stop the process and email admin
Error Executing Database Query shows up when it hit to run cfstoredproc. The codes are exactly the same as in CF8, this template was not modified. Exceptions 14:03:53.053 - Database Exception - in /home/space/users/www/GL/glproc.cfm : line 93 Error Executing Database Query.mega_L wrote:
SELECT case trim(to_char(SYSDATE, 'DAY')) WHEN 'MONDAY' then '1' else '2' end AS TodaysDate from dual
SELECT Count(other_id) AS NoRecFound FROM gl_dup_ids_ssns WHERE Trim(create_date) =
SELECT Count(other_id) AS NoRecFound FROM gl_dup_ids_ssns WHERE Trim(create_date) = CF codes to Stop the process and email admin
Surely, that cannot be the actual SQL, as it is obviously invalid. -
Hi,
Can anyone see why I am getting this error message for my SQL query?
WITH SKU_DATA AS (
SELECT /*+ MATERIALIZE */ DISTINCT FROM_LOC_ID,
SKU_ID,
DESCRIPTION,
UPDATE_QTY,
ORDER_ID,
CONSIGNMENT,
WEIGHT,
PALLET_ID,
CASE
WHEN Upd_Qty_Ratio < 1
THEN TO_CHAR(UPDATE_QTY) || 'U'
WHEN TRUNC(Upd_Qty_Ratio) = Upd_Qty_Ratio
THEN TO_CHAR(Upd_Qty_Ratio) || 'C'
ELSE TO_CHAR(TRUNC(UPDATE_QTY)) || 'C' || ' ' || TO_CHAR(ROUND(MOD(Upd_Qty_Ratio, 1) * USER_DEF_NUM_3, 6)) || 'U'
END CU_Sum
FROM (
SELECT DISTINCT
FROM_LOC_ID,
S.SKU_ID,
S.DESCRIPTION,
ITL.UPDATE_QTY,
S.USER_DEF_NUM_3,
OH.ORDER_ID,
ITL.CONSIGNMENT,
ITL.PALLET_ID,
NVL(ITL.UPDATE_QTY,0)*NVL(S.EACH_WEIGHT,0) Weight,
ITL.UPDATE_QTY/(CASE S.USER_DEF_NUM_3 WHEN 0 THEN 1 ELSE S.USER_DEF_NUM_3 END) Upd_Qty_Ratio
FROM INVENTORY_TRANSACTION ITL, SKU S, LOCATION L, ORDER_HEADER OH
WHERE ITL.SKU_ID = S.SKU_ID
AND ITL.CODE = 'Pick'
AND ITL.CONSIGNMENT = $P{Consignment}
AND OH.ORDER_DATE = TO_CHAR($P{Date}, 'DD-Mon-YYYY')
AND OH.ORDER_ID = ITL.REFERENCE_ID
AND ITL.TO_LOC_ID = 'CONTAINER'))
SELECT DISTINCT ORDER_ID, CONSIGNMENT, WEIGHT, PALLET_ID, CU_Sum,
(SELECT NVL(TO_CHAR(SUM(CASE WHEN NULLIF(SUBSTR(Cu_Sum, -1), 'U') IS NULL THEN NULL ELSE REPLACE(Cu_Sum,'C',NULL) END)),'0') ||'C' || ' ' || NVL(TO_CHAR(SUM(CASE WHEN NULLIF(SUBSTR(Cu_Sum, -1), 'C') IS NULL THEN NULL ELSE REPLACE(Cu_Sum,'U',NULL) END)),'0') ||'U' FROM SKU_DATA) AS Total_Cu_Sum
FROM SKU_DATAThanks in advance.
SM.Hi Sean,
It is saying error executing SQL statement, but with no "ORA error" so maybe its a Jasper Reports error i'm not too sure.
And this is a different version of the one we done together, that one is running fine just having problems putting the jasper file on to the server. I'm just using the main bits from the original SQL.
SM -
Error after upgrade "Error Executing Database Query. "
I have set up a new server with CF MX 6.1. I have moved code
from a CF 5 server. Now I am getting a lot of errors like this one.
They all vary somewhat but seem to be related to two things. The
problems seem to occur with CFINSERT to an access database. I have
been trying to fix this for some time now and would appreciate any
input. I have installed both the cf 'service pack' and a hot fix
that I thought was related directly to this.
Error Occurred While Processing Request
Error Executing Database Query.
[Macromedia][SequeLink JDBC Driver][ODBC
Socket][Microsoft][ODBC Microsoft Access Driver] Syntax error in
INSERT INTO statement.
The error occurred in
C:\Inetpub\vhosts\mysite.com\httpdocs\Ezedit\act_insert.cfm: line
14
Called from
C:\Inetpub\vhosts\mysite.com\httpdocs\Ezedit\index.cfm: line 53
Called from
C:\Inetpub\vhosts\mysite.com\httpdocs\Ezedit\act_insert.cfm: line
14
Called from
C:\Inetpub\vhosts\mysite.com\httpdocs\Ezedit\index.cfm: line 53
12 : <CFELSEIF #ProductScan.Recordcount# IS 0>
13 :
14 : <CFINSERT DATASOURCE="mysite" TABLENAME="#Table#"
username="admin" password="">
15 :
16 : <CFQUERY datasource="mysite">
SQL insert into Products
(WIDTH,HOTBUY,RETAIL1,REPEAT,HEIGHT,PRODUCTTITLE,JOIN,AJOIN,MATERIAL,OBJECTGROUP_ID,BOOKN AME,OBJECTGROUP_ID2,VJOIN,PRODUCTDESCRIPTION1,LENGTH,SAMPLE,MANUFACTURERPARTNO)
values ( (param 1) , (param 2) , (param 3) , (param 4) , (param 5)
, (param 6) , (param 7) , (param 8) , (param 9) , (param 10) ,
(param 11) , (param 12) , (param 13) , (param 14) , (param 15) ,
(param 16) , (param 17) )
DATASOURCE mysite
VENDORERRORCODE -3502
SQLSTATE 42000
Please try the following:<CFINSERT DATASOURCE="mysite" TABLENAME="#Table#">
Probably an error. The tag assumes implicitly that a form has
been submitted. In fact, one of its attributes is "formfields".
Since you leave out the attribute, Coldfusion assumes it has to
insert all the fields of a submitted form. You should put the tag
within the block
<cfif isDefined("form.someFormField")>
</cfif> -
Error executing dB Query help??
I'm creating a simple content management system with DW &
CF using an Access DB. I set up the DB in the CF Administrator as
Access with unicode.
My DB has several tables...users, usertypes, events,
eventtypes, reviews.
I built the usertype admin pages with no problems. Everything
is working well and my pages are interacting well with the
usertypes table in the db. I'm currently building the user admin
pages and now I'm having problems when I try to add records into
the users table. On my add page I've created a recordset with all
of my usertypes in it. Also, I'm using the record insertion form
wizard in DW.
I'm getting the following error:
Error Executing Database Query.
Syntax error in INSERT INTO statement.
The error occurred in
C:\CFusionMX7\wwwroot\pentanglecf\admin\users\add.cfm: line 64
62 : <cfelse>
63 : NULL
64 : </cfif>
65 : )
66 : </cfquery>
BTW, I'm using Dan Short's very good DW 8 Dynamic Development
tutorials on Lynda.Com. Has anyone used this before? Any help is
greatly appreciated.
Luis
Casegama.ComThanks Ken but I think I had posted the incorrect code for a
few minutes before I made the correction. Below is both the CF code
and the SQL command (also up above). I'm still having issues and
any help is greatly appreciated.
thanks,
Luis
Casegama.com
<cflock scope="Session" type="ReadOnly" timeout="30"
throwontimeout="no">
<cfset
MM_Username=Iif(IsDefined("Session.MM_Username"),"Session.MM_Username",DE(""))>
<cfset
MM_UserAuthorization=Iif(IsDefined("Session.MM_UserAuthorization"),"Session.MM_UserAuthor ization",DE(""))>
</cflock>
<cfif MM_Username EQ "" OR MM_UserAuthorization EQ "" OR
ListFind("1,2",MM_UserAuthorization) EQ 0>
<cfset MM_referer=CGI.SCRIPT_NAME>
<cfif CGI.QUERY_STRING NEQ "">
<cfset MM_referer=MM_referer & "?" &
CGI.QUERY_STRING>
</cfif>
<cfset MM_failureURL="login.cfm?accessdenied=" &
URLEncodedFormat(MM_referer)>
<cflocation url="#MM_failureURL#" addtoken="no">
</cfif>
<cfset CurrentPage=GetFileFromPath(GetTemplatePath())>
<cfif IsDefined("FORM.MM_InsertRecord") AND
FORM.MM_InsertRecord EQ "form1">
<cfquery datasource="#Request.DSN#">
INSERT INTO Users (Username, Password, FirstName, LastName,
EmailAddress, Admin, Allowed, UserTypeID)
VALUES (
<cfif IsDefined("FORM.Username") AND #FORM.Username# NEQ
"">
'#FORM.Username#'
<cfelse>
NULL
</cfif>
<cfif IsDefined("FORM.Password") AND #FORM.Password# NEQ
"">
'#FORM.Password#'
<cfelse>
NULL
</cfif>
<cfif IsDefined("FORM.FirstName") AND #FORM.FirstName# NEQ
"">
'#FORM.FirstName#'
<cfelse>
NULL
</cfif>
<cfif IsDefined("FORM.LastName") AND #FORM.LastName# NEQ
"">
'#FORM.LastName#'
<cfelse>
NULL
</cfif>
<cfif IsDefined("FORM.EmailAddress") AND
#FORM.EmailAddress# NEQ "">
'#FORM.EmailAddress#'
<cfelse>
NULL
</cfif>
<cfif IsDefined("FORM.Admin")>
Yes
<cfelse>
No
</cfif>
<cfif IsDefined("FORM.Allowed")>
Yes
<cfelse>
No
</cfif>
<cfif IsDefined("FORM.UserTypeID") AND #FORM.UserTypeID#
NEQ "">
#FORM.UserTypeID#
<cfelse>
NULL
</cfif>
</cfquery>
<cflocation url="index.cfm">
</cfif>
<cfquery name="rsUserTypes" datasource="#Request.DSN#">
SELECT *
FROM UserTypes
ORDER BY UserType ASC
</cfquery> -
I want to execute SQL query in the JavaBean.
Is there any problem in the following code.
There is no error message, but the database do not update. And I try to use JSP , it is ok. What is the problem in JavaBean ??
How to execute SQL in JavaBean ???
Please help ! Thank you !
test.jsp - call UserTrace.java
UserTrace.java - execute SQL
Code:
** test.jsp **
<%@ page language="java" contentType="text/html" %>
<%@ page import="user.*, java.util.*" %>
<jsp:useBean id="usertrace" class="user.UserTrace" scope="session" />
<%
if (session.isNew())
session.setAttribute("usertrace", usertrace);
session.setMaxInactiveInterval(15);
%>
** UserTrace.java **
package user;
import java.util.*;
import javax.servlet.http.*;
import java.io.*;
import java.beans.*;
import java.sql.*;
import user.*;
public class UserTrace implements javax.servlet.http.HttpSessionBindingListener {
private Connection con = null;
Statement stmt = null;
ResultSet rs = null;
String sql;
public void valueBound(HttpSessionBindingEvent event) {
public void valueUnbound(HttpSessionBindingEvent event) {
try {
Class.forName("org.gjt.mm.mysql.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost/test?user=abc&password=abcd");
stmt = con.createStatement();
sql = "insert into list(username, session_id) values ('mary', 'xxxxxxxxx')";
int count = stmt.executeUpdate(sql);
catch (ClassNotFoundException e) {
catch (SQLException e) {
}Hi,
U can use the following code:
/********** IMPORTING PACKAGES AND CLASSES *******/
// General package id
package id;
//Import the Vector class as this bean handles Vector.
import java.util.Vector;
//Import the SQL class to create the connections,statement,resultset etc.,
import java.sql.*;
//Import the SQL Types to call the setNull Method.
import java.sql.Types.*;
/* Main Class */
public class dataBean
/*********** Global Declarations ********/
// To create the connection object
Connection con;
// To create the Statement object
Statement stmt;
// To create the PreparedStatement object
PreparedStatement psmt;
// To Handle the ResultSet
ResultSet rs;
// Most of the method need to hold the querystring for which qryString variable declare globally.
String qryString=null;
/************ METHODS **************/
/* To set the connection object
con - Connection object
public void setConnection(Connection con)
try
this.con = con;
catch(Exception e)
/* insertRecord with column type argument
tblNameString - Name of the Table
dataVector - vector contains the values according to the table order
eg., element(0) has first field, element(1) has second field vice versa
colType - String array contains type of all the fields.
return true - if record inserted successfully
fase - if insertion fails
public boolean insertRecord(String tblNameString,Vector dataVector,String colType[])
boolean sucFlag=false;
try
String commaString = "";
int fieldCount = dataVector.size();
for (int i=0;i<fieldCount-1;i++)
commaString +="?,";
commaString+="?";
if (fieldCount > 0)
qryString = "insert into "+tblNameString+" values ("+commaString+")";
psmt = con.prepareStatement(qryString);
for(int i=0;i<colType.length;i++)
if (colType.equals("I"))
psmt.setInt(i+1,Integer.parseInt(dataVector.elementAt(i).toString()));
else if (colType[i].equals("F"))
psmt.setFloat(i+1,Float.parseFloat(dataVector.elementAt(i).toString()));
else if (colType[i].equals("S") || colType[i].equals("D"))
psmt.setString(i+1,dataVector.elementAt(i).toString());
else if (colType[i].equals("IN")||colType[i].equals("FN"))
psmt.setNull(i+1,java.sql.Types.NUMERIC);
else if (colType[i].equals("SN"))
psmt.setNull(i+1,java.sql.Types.VARCHAR);
else if (colType[i].equals("DN"))
psmt.setNull(i+1,java.sql.Types.DATE);
int sucCnt = psmt.executeUpdate();
if (sucCnt > 0) sucFlag=true;
catch(Exception e)
return sucFlag;
/* insertRecord without column type argument
tblNameString - Name of the Table
dataVector - vector contains the values according to the table order
eg., element(0) has first field, element(1) has second field vice versa
return true - if record inserted successfully
fase - if insertion fails
public boolean insertRecord(String tblNameString,Vector dataVector)
boolean sucFlag=false;
Vector colType = getColumnType(tblNameString);
try
String commaString = "";
int fieldCount = dataVector.size();
for (int i=0;i<fieldCount-1;i++)
commaString +="?,";
commaString+="?";
if (fieldCount > 0)
qryString = "insert into "+tblNameString+" values ("+commaString+")";
psmt = con.prepareStatement(qryString);
for(int i=0;i<colType.size();i++)
if (colType.elementAt(i).toString().equals("I"))
if (dataVector.elementAt(i)==null||dataVector.elementAt(i).toString().equals(""))
psmt.setNull(i+1,java.sql.Types.NUMERIC);
else
psmt.setLong(i+1,Long.parseLong(dataVector.elementAt(i).toString()));
else if (colType.elementAt(i).toString().equals("F"))
if (dataVector.elementAt(i)==null||dataVector.elementAt(i).toString().equals(""))
psmt.setNull(i+1,java.sql.Types.NUMERIC);
else
psmt.setDouble(i+1,Double.parseDouble(dataVector.elementAt(i).toString()));
else if (colType.elementAt(i).toString().equals("S"))
if (dataVector.elementAt(i)==null||dataVector.elementAt(i).toString().equals(""))
psmt.setNull(i+1,java.sql.Types.VARCHAR);
else
psmt.setString(i+1,dataVector.elementAt(i).toString());
else if (colType.elementAt(i).toString().equals("D"))
if (dataVector.elementAt(i)==null||dataVector.elementAt(i).toString().equals(""))
psmt.setNull(i+1,java.sql.Types.DATE);
else
psmt.setString(i+1,dataVector.elementAt(i).toString());
int sucCnt = psmt.executeUpdate();
if (sucCnt > 0) sucFlag=true;
catch(Exception e)
return sucFlag;
/* insert particular fields
tblNameString - Name of the Table
dataVector - vector which contains the values according to the table order
eg., element(0) has first field, element(1) has second field vice versa
colType - String array contains type of all the fields.
return true - if record inserted successfully
fase - if insertion fails
public boolean insertRecordPart(String tblNameString,Vector dataVector,String colType[])
boolean sucFlag=false;
String fieldString=" ";
try
String commaString = "";
int fieldCount = dataVector.size();
for (int i=0;i<(fieldCount/2)-1;i++)
commaString +="?,";
commaString+="?";
if (fieldCount > 0)
String valueString[]= new String[fieldCount];
for (int i=0,j=0;i<fieldCount;i+=2,j++)
fieldString=fieldString+dataVector.elementAt(i)+",";
valueString[j]=dataVector.elementAt(i+1).toString();
if (fieldString.substring(fieldString.length()-1,fieldString.length()).equals(","))
fieldString=fieldString.substring(0,fieldString.length()-1);
qryString = "insert into "+tblNameString+"("+fieldString+") values ("+commaString+")";
psmt = con.prepareStatement(qryString);
for (int i=1,j=0;i<fieldCount;i+=2,j++)
if (colType[j].equals("I"))
if (dataVector.elementAt(i)==null||dataVector.elementAt(i).toString().equals(""))
psmt.setNull(j+1,java.sql.Types.NUMERIC);
else
psmt.setInt(j+1,Integer.parseInt(dataVector.elementAt(i).toString()));
else if (colType[j].equals("L"))
if (dataVector.elementAt(i)==null||dataVector.elementAt(i).toString().equals(""))
psmt.setNull(j+1,java.sql.Types.NUMERIC);
else
psmt.setLong(j+1,Long.parseLong(dataVector.elementAt(i).toString()));
else if (colType[j].equals("F"))
if (dataVector.elementAt(i)==null||dataVector.elementAt(i).toString().equals(""))
psmt.setNull(j+1,java.sql.Types.NUMERIC);
else
psmt.setFloat(j+1,Float.parseFloat(dataVector.elementAt(i).toString()));
else if (colType[j].equals("DB"))
if (dataVector.elementAt(i)==null||dataVector.elementAt(i).toString().equals(""))
psmt.setNull(j+1,java.sql.Types.NUMERIC);
else
psmt.setDouble(j+1,Double.parseDouble(dataVector.elementAt(i).toString()));
else if (colType[j].equals("S"))
if (dataVector.elementAt(i)==null||dataVector.elementAt(i).toString().equals(""))
psmt.setNull(j+1,java.sql.Types.VARCHAR);
else
psmt.setString(j+1,dataVector.elementAt(i).toString());
else if (colType[j].equals("D"))
if (dataVector.elementAt(i)==null||dataVector.elementAt(i).toString().equals(""))
psmt.setNull(j+1,java.sql.Types.DATE);
else
psmt.setString(j+1,dataVector.elementAt(i).toString());
int sucCnt = psmt.executeUpdate();
if (sucCnt > 0) sucFlag=true;
catch(Exception e)
return sucFlag;
/* Get Column Type of require table fields
tblNameString - Name of the table
return vector which contains the column types of the desired table
public Vector getColumnType(String tblNameString)
int colCount = 0;
String locString="";
Vector colVector = new Vector();
try
qryString = "select DATA_TYPE from user_tab_columns where table_name=? ORDER BY COLUMN_ID";
psmt = con.prepareStatement(qryString);
psmt.setString(1,tblNameString.toUpperCase());
rs = psmt.executeQuery();
while (rs.next())
colCount = rs.getMetaData().getColumnCount();
for(int i=1;i<=colCount;i++)
locString = rs.getString(i);
colVector.addElement(locString.equals("DATE")?"D":locString.equals("NUMBER")?"F":locString.equals("VARCHAR2")?"S":locString.equals("VARCHAR")?"S":"");
rs.close();
catch(Exception e)
return colVector;
/* update record
tblNameString - Name of the Table
dataVector - vector which contains the values according to the table order
eg., element(0) has first field, element(1) has second field vice versa
colType - String array contains type of all the fields.
return true - if record successfully updated
false - if Update fails
public boolean updateRecord(String tblNameString,Vector dataVector,String colType[],String whereString)
boolean sucFlag=false;
String fieldString=" ";
try
String commaString = "";
int fieldCount = dataVector.size();
for (int i=0;i<fieldCount-1;i++)
commaString +="?,";
commaString+="?";
if (fieldCount > 0)
String valueString[]= new String[fieldCount];
for (int i=0,j=0;i<fieldCount;i+=2,j++)
fieldString=fieldString+dataVector.elementAt(i)+"=?,";
valueString[j]=dataVector.elementAt(i+1).toString();
if (fieldString.substring(fieldString.length()-1,fieldString.length()).equals(","))
fieldString=fieldString.substring(0,fieldString.length()-1);
qryString = "update "+tblNameString+" set "+fieldString+" "+whereString;
psmt = con.prepareStatement(qryString);
for(int i=0,vectorPos=1;i<colType.length;i++,vectorPos+=2)
if (colType[i].equals("I"))
if (dataVector.elementAt(vectorPos)==null||dataVector.elementAt(vectorPos).toString().equals(""))
psmt.setNull(i+1,java.sql.Types.NUMERIC);
else
psmt.setInt(i+1,Integer.parseInt(dataVector.elementAt(vectorPos).toString()));
else if (colType[i].equals("L"))
if (dataVector.elementAt(vectorPos)==null||dataVector.elementAt(vectorPos).toString().equals(""))
psmt.setNull(i+1,java.sql.Types.NUMERIC);
else
psmt.setLong(i+1,Long.parseLong(dataVector.elementAt(vectorPos).toString()));
else if (colType[i].equals("F"))
if (dataVector.elementAt(vectorPos)==null||dataVector.elementAt(vectorPos).toString().equals(""))
psmt.setNull(i+1,java.sql.Types.NUMERIC);
else
psmt.setFloat(i+1,Float.parseFloat(dataVector.elementAt(vectorPos).toString()));
else if (colType[i].equals("DB"))
if (dataVector.elementAt(vectorPos)==null||dataVector.elementAt(vectorPos).toString().equals(""))
psmt.setNull(i+1,java.sql.Types.NUMERIC);
else
psmt.setDouble(i+1,Double.parseDouble(dataVector.elementAt(vectorPos).toString()));
else if (colType[i].equals("S"))
if (dataVector.elementAt(vectorPos)==null||dataVector.elementAt(vectorPos).toString().equals(""))
psmt.setNull(i+1,java.sql.Types.VARCHAR);
else
psmt.setString(i+1,dataVector.elementAt(vectorPos).toString());
else if (colType[i].equals("D"))
if (dataVector.elementAt(vectorPos)==null||dataVector.elementAt(vectorPos).toString().equals(""))
psmt.setNull(i+1,java.sql.Types.DATE);
else
psmt.setString(i+1,dataVector.elementAt(vectorPos).toString());
int sucCnt = psmt.executeUpdate();
if (sucCnt > 0) sucFlag=true;
} // end of if
} // end of try
catch(Exception e)
return false;
return sucFlag;
public ResultSet getResultSet(String selectString)
try
stmt = con.createStatement();
rs = stmt.executeQuery(selectString);
catch(Exception e)
System.out.println(e.getMessage());
finally
return rs;
/* Get Query Result
selectString - Query
return the result vector based on the querystring
public Vector getResultVector(String selectString)
Vector resVector = new Vector();
try
stmt = con.createStatement();
rs = stmt.executeQuery(selectString);
while (rs.next())
resVector.addElement(rs.getString(1));
resVector.addElement(rs.getString(2));
catch(Exception e)
System.out.println(e.getMessage());
finally
return resVector;
/* return next consecutive number
tablenName - Name of the table for which the number to be generated
serialFiel - Name of the field for which the number to be generated
whereString - where condition to filter the records if composite key found,
it can be empty if there is no composite primary key.
startNumber - if there is no record exists in the table, set the starting number
public String getCurrentSerial(String tableName,String serialField,String whereString,String startNumber)
String queryString = "select max(to_number("+serialField+")) from "+tableName+" "+whereString;
int maxSerial=0;
try
psmt = con.prepareStatement(queryString);
rs = psmt.executeQuery();
while (rs.next())
maxSerial = rs.getInt(1);
if (maxSerial < 0)
maxSerial=Integer.parseInt(startNumber);
else
maxSerial+=1;
rs.close();
catch(Exception e)
return String.valueOf(maxSerial);
/* return next consecutive number
tablenName - Name of the table for which the number to be generated
serialFiel - Name of the field for which the number to be generated
whereString - where condition to filter the records if composite key found,
it can be empty if there is no composite primary key.
Note : if there is no record exists in the table, it starts with 1
public String getCurrentSerial(String tableName,String serialField,String whereString)
String queryString = "select max(to_number("+serialField+")) from "+tableName+" "+whereString;
int maxSerial=0;
try
stmt = con.createStatement();
rs = stmt.executeQuery(queryString);
while (rs.next())
maxSerial = rs.getInt(1);
if (maxSerial < 0)
maxSerial=1;
else
maxSerial+=1;
rs.close();
catch(Exception e)
System.out.println("Error from max serialX:"+e.getMessage());
return String.valueOf(maxSerial);
/* return the currnent user name */
public String getCurrentUser()
Statement stmt=null;
ResultSet rs=null;
String queryString = "select user from dual";
String userName = "";
try
stmt = con.createStatement();
rs = stmt.executeQuery(queryString);
while (rs.next())
userName = rs.getString(1);
rs.close();
catch(Exception e)
return userName;
/* return current user along with server's current date
example : userName#today
public String getCurrentUserDate()
Statement stmt=null;
ResultSet rs=null;
String queryString = "select user,to_char(sysdate,'dd-mon-yyyy') from dual";
String userName = "";
String todayDate= "";
try
stmt = con.createStatement();
rs = stmt.executeQuery(queryString);
while (rs.next())
userName = rs.getString(1);
todayDate = rs.getString(2);
rs.close();
catch(Exception e)
return userName+"#"+todayDate;
/* return server's current date */
public String getCurrentDate()
Statement stmt=null;
ResultSet rs=null;
String queryString = "select to_char(sysdate,'dd-mon-yyyy') from dual";
String todayDate= "";
try
stmt = con.createStatement();
rs = stmt.executeQuery(queryString);
while (rs.next())
todayDate = rs.getString(1);
rs.close();
catch(Exception e)
return todayDate;
/* return true if atleast one record found in the table
tblName : Name of the table
whereString : Where condition to filter the records
public boolean isRecordExists(String tblName,String whereString)
String queryString = "select count(1) from "+tblName+" "+whereString;
boolean recFound = false;
try
stmt = con.createStatement();
rs = stmt.executeQuery(queryString);
while (rs.next())
if (rs.getInt(1)==0)
recFound = false;
else
recFound = true;
rs.close();
catch(Exception e)
return recFound;
// round off decimal Places
public String fixDecimal(String sourceString,int digits)
String tmpText="",decimalPart="",returnText="";
try
sourceString = String.valueOf(Double.parseDouble(sourceString));
tmpText = sourceString.substring(sourceString.indexOf(".")+1);
if (tmpText.length() > digits)
decimalPart = tmpText.substring(0,digits);
if (Integer.parseInt(tmpText.substring(digits,digits+1))>=5)
decimalPart = String.valueOf(Integer.parseInt(decimalPart)+1);
tmpText = decimalPart;
if (decimalPart.length() > 3) // to check wheter 1000 reached, if yes add 1 to actual text
returnText = String.valueOf(Integer.parseInt(sourceString.substring(0,sourceString.indexOf(".")))+1);
else
returnText = sourceString.substring(0,sourceString.indexOf("."))+"."+tmpText;
else // if user entered decimal is with in 3 digits
if (tmpText.equals("0"))
returnText = sourceString.substring(0,sourceString.indexOf("."));
else
returnText = sourceString.substring(0,sourceString.indexOf("."))+"."+tmpText;
catch(Exception e)
System.out.println(e.getMessage());
return sourceString;
System.out.println(returnText);
return returnText;
} // end of main class
Access this Bean in JSP as follows:
<%@ page language="java" %>
<%@ page import="java.util.*"%>
<%@ include file="../connectionSetup.jsp"%>
<jsp:useBean id="dataBeanObj" class="id.dataBean"/>
<html>
<head>
<title>ADDRESS MASTER FORM</title>
<style type="text/css">
.tData
font-family : sans-serif;
font-size : 9px;
font-weight : bolder;
color : navy;
.buttonStyle
font-family : sans-serif;
font-size :10px;
</style>
</head>
<%
dataBeanObj.setConnection(con);
String curCode="";
String consFld = request.getParameter("consfld")==null?"":request.getParameter("consfld");
String cat = request.getParameter("cat")==null?"a":request.getParameter("cat").equals("a")?"a":"u";
boolean updateFlag=false,isWrongCountry=false;
String code="";
String name="";
String add1="";
String add2="";
String add3="";
String state="";
String country="";
String zip="";
String am_pcouncode="";
String am_pareacode="";
String am_psubcode="";
String am_fcouncode="";
String am_fareacode="";
String am_fsubcode="";
String am_phone="";
String am_fax="";
String email="";
String notes="";
String telex="";
String mobile="";
String popup="";
code = request.getParameter("code")==null?"":request.getParameter("code");
name = request.getParameter("name")==null?"":request.getParameter("name");
popup = request.getParameter("popup")==null?"":request.getParameter("popup");
String submitMode = request.getParameter("submit_mode")==null?"":request.getParameter("submit_mode");
String editMode = request.getParameter("edit_hidden")==null?"null":request.getParameter("edit_hidden");
if (name != null && !submitMode.equals("yes")) // ready to retrieve records
if (!code.equals(""))
rs = dataBeanObj.getResultSet("select am_code code,am_name name,am_address_1 add1,am_address_2 add2,am_address_3 add3,am_country country,am_state state,am_zip zip,am_phone phone,am_fax fax,am_e_mail email,am_notes notes,am_telex telex,am_mobile mobile from id_vms_address_master where am_code='"+code+"'");
else
rs = dataBeanObj.getResultSet("select am_code code,am_name name,am_address_1 add1,am_address_2 add2,am_address_3 add3,am_country country,am_state state,am_zip zip,am_phone phone,am_fax fax,am_e_mail email,am_notes notes,am_telex telex,am_mobile mobile from id_vms_address_master where upper(am_name)='"+name.toUpperCase()+"'");
if (rs.next()) // if record found
code = rs.getString("code"); // retrieve code
name = rs.getString("name"); // retrieve name
add1 = rs.getString("add1"); // retrieve address 1
add2 = rs.getString("add2"); // retrieve address 2
add3 = rs.getString("add3"); // retrieve address 3
country = rs.getString("country"); // retrieve country
state = rs.getString("state"); // retrieve state
zip = rs.getString("zip"); // retrieve zip
am_phone = rs.getString("phone"); // retrieve phone
am_fax = rs.getString("fax"); // retrieve fax
email = rs.getString("email"); // retrieve email
notes = rs.getString("notes"); // retrieve notes
telex = rs.getString("telex"); // retrieve telex number
mobile = rs.getString("mobile"); // retrieve mobile number
else if (submitMode.equals("yes")) // ready to submit
code = request.getParameter("code"); // get the input code
name = request.getParameter("name"); // get the input name
add1 = request.getParameter("address1"); // get the input address 1
add2 = request.getParameter("address2"); // get the input address 2
add3 = request.getParameter("address3"); // get the input address 3
country = request.getParameter("country"); // get the input country
state = request.getParameter("state"); // get the input state
zip = request.getParameter("zip"); // get the input zip
am_pcouncode = request.getParameter("pcouncode"); // get the input phone country code
am_pareacode = request.getParameter("pareacode"); // get the input phone area code
am_psubcode = request.getParameter("psubscode"); // get the input phone subscriber code
am_fcouncode = request.getParameter("fcouncode"); // get the input fax country code
am_fareacode = request.getParameter("fareacode"); // get the input fax area code
am_fsubcode = request.getParameter("fsubscode"); // get the input fax subscriber code
am_phone = am_pcouncode+"-"+am_pareacode+"-"+am_psubcode;
am_fax = am_fcouncode+"-"+am_fareacode+"-"+am_fsubcode;
telex = request.getParameter("telex"); // get the input telex
mobile = request.getParameter("mobile"); // get the input mobile
email = request.getParameter("email"); // get the input email
notes = request.getParameter("notes"); // get the input notes
String colType[] = {"S","S","S","S","S","S","S","S","S","S","S","S","S","S"};
Vector vec = new Vector();
if (cat.equals("u"))
vec.addElement("am_code"); vec.addElement(code); // add code to vector element
else
curCode = dataBeanObj.getCurrentSerial("id_vms_address_master","am_code","");
vec.addElement("am_code"); vec.addElement(curCode); // Next Serial Generation
vec.addElement("am_name"); vec.addElement(name); // add name to vector element
vec.addElement("am_address_1"); vec.addElement(add1); // add address 1 to vector element
vec.addElement("am_address_2"); vec.addElement(add2); // add address 2 to vector element
vec.addElement("am_address_3"); vec.addElement(add3); // add address 3 to vector element
vec.addElement("am_country"); vec.addElement(country); // add country to vector element
vec.addElement("am_state"); vec.addElement(state); // add state to vector element
vec.addElement("am_zip"); vec.addElement(zip); // add zip to vector element
vec.addElement("am_phone"); vec.addElement(am_phone); // add phone to vector element
vec.addElement("am_fax"); vec.addElement(am_fax); // add fax to vector element
vec.addElement("am_e_mail"); vec.addElement(email); // add email to vector element
vec.addElement("am_notes"); vec.addElement(notes); // add notes to vector element
vec.addElement("am_telex"); vec.addElement(telex); // add telex to vector element
vec.addElement("am_mobile"); vec.addElement(mobile); // add mobile to vector element
if (dataBeanObj.isRecordExists("id_country_master"," where country_code='"+country+"'"))
if (cat.equals("u"))
// update the records
updateFlag = dataBeanObj.updateRecord("id_vms_address_master",vec,colType,"where am_code='"+code+"'");
else
// insert record
updateFlag = dataBeanObj.insertRecordPart("id_vms_address_master",vec,colType);
else
isWrongCountry=true;
%>
The connectionSetup.jsp is as follows:
<%@ page import="java.sql.*" %>
<%@ page import="javax.sql.*" %>
<%@ page import="javax.naming.*" %>
<%@ page import="allaire.taglib.*" %>
<%
Connection con=null;
PreparedStatement ps = null;
Statement stmt=null;
ResultSet rs=null;
try
String jrunDSN = null, lookupDSN = null;
jrunDSN = request.getParameter("dsnvalue") == null ? "vms_test" : request.getParameter("dsnvalue");
lookupDSN = "java:comp/env/jdbc/" + jrunDSN;
InitialContext ctx = new InitialContext();
DataSource dsn = (DataSource)ctx.lookup(lookupDSN);
try
if (application.getAttribute("connectionapplication") == null)
con = dsn.getConnection();
application.setAttribute("connectionapplication",con);
else
con = (Connection) application.getAttribute("connectionapplication");
stmt = con.createStatement();
catch(Exception e)
con = dsn.getConnection();
application.setAttribute("connectionapplication",con);
catch(Exception e)
out.println("<font face='arial' size='2'><center>Problem with database connection. Please contact your administrator</center></font>");
%>
In Connection setup.jsp u can change as u need.
This is thru JNDI. This works fine for us in our projects.
Bye. -
Error executing database query, invalid use of:
I have a problem ColdfusionMX tutorial when I get to add tags
on top of the code view. And I write the same thing as the
tutorial.
I get an error message that says:
Error executing database query.
error occurred while processing request.
Invalid use of ", ", () in query expression
I need help desperatly,
Geordeslys,The web site you are accessing has experienced an unexpected
error.
Please contact the website administrator.
The following information is meant for the website developer
for debugging purposes.
Error Occurred While Processing Request
Error Executing Database Query.
Invalid use of '.', '!', or '()'. in query expression
'ARTISTS.ARTISTID = ART.ARTISTID AND ART.MEDIAID = MEDIA. MEDIAID'.
The error occurred in
C:\CFusionMX7\wwwroot\CFIDE\gettingstarted\tutorial\TMPhy0vtntf3u.cfm:
line 1
1 : <cfquery name="artwork" datasource="cftutorial">
2 : SELECT FIRSTNAME, LASTNAME, ARTNAME, DESCRIPTION, PRICE,
LARGEIMAGE, ISSOLD, MEDIATYPE
3 : FROM ARTISTS, ART, MEDIA
Dear CF_dev2,
Is that what you mean by complete CF code?
Georgeslys,
SQL SELECT FIRSTNAME, LASTNAME, ARTNAME, DESCRIPTION, PRICE,
LARGEIMAGE, ISSOLD, MEDIATYPE FROM ARTISTS, ART, MEDIA WHERE
ARTISTS.ARTISTID = ART.ARTISTID AND ART.MEDIAID = MEDIA. MEDIAID
DATASOURCE cftutorial
VENDORERRORCODE 3092
SQLSTATE
Resources:
Check the ColdFusion documentation to verify that you are
using the correct syntax.
Search the Knowledge Base to find a solution to your problem.
Browser Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1;
.NET CLR 1.0.3705; .NET CLR 1.1.4322; Media Center PC 4.0; IEMB3;
IEMB3)
Remote Address 127.0.0.1
Referrer
Date/Time 03-Sep-07 07:11 PM
Stack Trace (click to expand)
at
cfTMPhy0vtntf3u2ecfm1461475070.runPage(C:\CFusionMX7\wwwroot\CFIDE\gettingstarted\tutoria l\TMPhy0vtntf3u.cfm:1)
at
cfTMPhy0vtntf3u2ecfm1461475070.runPage(C:\CFusionMX7\wwwroot\CFIDE\gettingstarted\tutoria l\TMPhy0vtntf3u.cfm:1)
com.inzoom.adojni.ComException: Invalid use of
'.', '!', or
'()'. in query expression
'ARTISTS.ARTISTID = ART.ARTISTID
AND ART.MEDIAID = MEDIA. MEDIAID'. in Microsoft JET
Database Engine code=3092 Type=1
at com.inzoom.ado.Command.jniExecute(Native Method)
at com.inzoom.ado.Command.execute(Command.java:40)
at com.inzoom.jdbcado.Statement.exec(Statement.java:34)
at com.inzoom.jdbcado.Statement.execute(Statement.java:107)
at
coldfusion.server.j2ee.sql.JRunStatement.execute(JRunStatement.java:212)
at coldfusion.sql.Executive.executeQuery(Executive.java:753)
at coldfusion.sql.Executive.executeQuery(Executive.java:675)
at coldfusion.sql.Executive.executeQuery(Executive.java:636)
at coldfusion.sql.SqlImpl.execute(SqlImpl.java:236)
at
coldfusion.tagext.sql.QueryTag.doEndTag(QueryTag.java:500)
at
cfTMPhy0vtntf3u2ecfm1461475070.runPage(C:\CFusionMX7\wwwroot\CFIDE\gettingstarted\tutoria l\TMPhy0vtntf3u.cfm:1)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:152)
at
coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:349)
at
coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65)
at
coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:225)
at
coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:51)
at coldfusion.filter.PathFilter.invoke(PathFilter.java:86)
at
coldfusion.filter.LicenseFilter.invoke(LicenseFilter.java:27)
at
coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:69)
at
coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:2 8)
at
coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
at
coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
at
coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
at
coldfusion.filter.RequestThrottleFilter.invoke(RequestThrottleFilter.java:115)
at coldfusion.CfmServlet.service(CfmServlet.java:107)
at
coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:78)
at
jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:91)
at
jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
at
jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:257)
at
jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:541)
at
jrun.servlet.http.WebService.invokeRunnable(WebService.java:172)
at
jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:318)
at
jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:426)
at
jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:264)
at jrunx.scheduler.WorkerThread.run(WorkerThread.java:66) -
Pesky Error Executing Database Query
About three times a week, we get a ton of errors for "Error
Executing Database Query", all at once. That is about as
descriptive as it gets. It does tell us the line and the exact SQL
statement it tried to run, but when we copy and paste the SQL into
a query browser it runs fine. It's almost like there is a
connection failure somewhere between CF and the db that is causing
this "error"? Has anyone experienced anything like this? Thanks for
any help.We sometimes get that when a table has been corrupted on the
SQL server, or the DTS service is having issues. The error just
says there is a database execution error and says the error was at
xyz, just like yours.
Generally restarting the SQL server fixes the issue because
when it restarts, SQL server rebuilds the tables as a kind of
repair.
Our problem seems to relate to issues with the drive. Just
lately we saw a note in the Event Viewer that indicated that one
drive had a bad block. It is possible that during the "repair" SQL
moved the data off that block, similar to how defrag would.
Basically, if you are seeing it semi-regularly and it works
fine after restarting the data server, you may want to schedule a
maintenance downtime and run a full disk check and defrag, possibly
even replacing the drive. -
How Can I Execute Sql Query in Managed bean?
Hi,
I want to execute sql query in managedbean and get the query result. How can I do?
Best wishes!You can do this by having current Database connection your application is using like this
public static synchronized DBTransaction getDBTransaction(){
FacesContext ctx = FacesContext.getCurrentInstance();
ValueBinding vb = ctx.getApplication().createValueBinding("#{data}");
BindingContext bc = (BindingContext)vb.getValue(ctx.getCurrentInstance());
DataControl dc = bc.findDataControl("AppModuleDataControl");
ApplicationModuleImpl am = ((ApplicationModuleImpl)(ApplicationModule)dc.getDataProvider());
return am.getDBTransaction();
and then user DBTransaction object to create Statement and PreparedStatement you can find those in java doc.
Maybe you are looking for
-
Production Order with follow-up material unble to save due to error CKBK009
Dear Expert, When we apply discontintion/follow-up material setting, production order is not able to save. <b>Error message "CKBK009 - No price could be determine for material....."</b>. <b><u>SAP Help indicates :</u></b> "No price could be determine
-
Deploying war files with JBuilder 5 to Tomcat 4
Hi, I'm developing a webapp in JBuilder 5. When I copy my war file to tomcat 3.2 webapps directory and start tomcat it works just fine, but when I copy my war file to the webapps directory in tomcat 4 I have the following error when I start tomcat 4:
-
"Allow this device to wake the computer" option resets
Hello All, I'm wondering if anyone has come across this. Everytime I disable the Power Management option "Allow this device to wake the computer" click OK, the setting stays, once I reboot the computer, the option is enabled again. I've checked the
-
Hi: How can I handle a "invalid_number" exception in reports 6i SQL Query. Thanks. Pradeep
-
Select What You'd Like Restored?
I've got a copy of Final Cut Studio 2.0 arriving in a couple of days, and I'd like to install it on top of a fresh OS install (probably the paranoid former PC user in me). My question is, using Time Machine, is it possible to restore just portions of