× The internal search function is temporarily non-functional. The current search engine is no longer viable and we are researching alternatives.
As a stop gap measure, we are using Google's custom search engine service.
If you know of an easy to use, open source, search engine ... please contact support@midrange.com.



Scott,
Thanks for the response. I'm on the right track now.
I did realize it was a syntax error, but I guess I was so caught up in
trying to figure what the select statement looks like after it performs
the JDBC_setString, that I just couldn't see the simple error.
The statement should have been convert(char(10), logdate, 120)
It would still be nice to see what stmt is in the following:
JDBC_ExecPrepQry(stmt). Is this possible?

As far as the convert and char function goes the idea is to pull the
date out of a date/time field to select only records between a date
range. Although now I might need to check records between a date and
time range now.

Anyway, thanks again.
Mike

-----Original Message-----
From: midrange-l-bounces@xxxxxxxxxxxx
[mailto:midrange-l-bounces@xxxxxxxxxxxx] On Behalf Of Scott Klement
Sent: Thursday, March 11, 2010 4:08 PM
To: Midrange Systems Technical Discussion
Subject: Re: JDBC_PrepStmt and SQL Server

Hi Mike,

The error says that you have a syntax error in your SQL statement.
That's what it means by "Incorrect syntax". To help you further
localize the error, it tells you that the error is "near logdate".

Here's the statement you posted:

select * from serviceCards_log where convert(char(10,logdate,120) > ?

'logdate' is part of the WHERE clause. Let's look at that more
carefully:

convert(char(10,logdate,120) > ?

I notice that you are missing a parenthesis here... the CHAR() function
only takes one parameter, and the way you have it coded, it has 3
parameters (10, logdate, 120). And the convert() function has no
closing parenth at all.

I'm not familiar with CONVERT, so I'm not totally sure what you're
trying to do... but hopefully you can see the problem, now?




On 3/11/2010 2:39 PM, Smith, Mike wrote:

stmt = JDBC_PrepStmt(connms: 'select * from serviceCards_log +
where convert(char(10,logdate,120)> ?');

JDBC_setString(stmt: 1: begdate);

JDBC_ExecPrepQry(stmt);

Temporarily I've set the field begdate = '2010-01-01'

This is the error I receive
Message . . . . : Java exception received when calling Java
method.
Cause . . . . . : RPG procedure JDBC_EXECP in program QGPL/JDBCR4
received
Java exception "java.sql.SQLException: Line 1: Incorrect syntax
near

'logdate'." when calling method "executeQuery" with signature

"()Ljava.sql.ResultSet;" in class "java.sql.PreparedStatement".


How do i debug this to see what the JDBC_ExecPrepQry(stmt) is trying
to
execute.?
I'm really not sure if I have the convert setup correctly or if that
is
the best way to extract the date from the date/time field.


Thanks
Mike



NOTICE: This message, including any attachment, is intended as a
confidential and privileged communication. If you have received this
message in error, or are not the named recipient(s), please immediately
notify the sender and delete this message.


As an Amazon Associate we earn from qualifying purchases.

This thread ...

Follow-Ups:
Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.