我正在使用 smart fox server.where 我将此服务器连接到 My sql 数据库。
此查询在 My sql 命令行中正确运行,但是当我在服务器端编写此查询时出现错误。我知道错误在 % emp_id% 中。这里 emp_id 是常量。我正在尝试这种方式,但仍然出现错误。
String sql="
SELECT emp_first_name
, emp_last_name
, msg_title
, msg_body
FROM message_master
JOIN emp_master
ON emp_master.emp_id = message_master.empmsgsender_id
AND message_master.emp_id IN(SELECT emp_id
FROM message_master
WHERE emp_id LIKE %'"+emp_id+"'%)";
@Override
public void handleClientRequest(User user, ISFSObject isfso)
{
try
{
trace("within request for message");
String emp_id=isfso.getUtfString("uid");
trace( "Employee_id:"+emp_id);
// String sql="SELECT emp_first_name,emp_last_name,msg_title,msg_body from message_master inner join emp_master ON emp_master.emp_id=message_master.empmsgsender_id AND message_master.emp_id='"+emp_id+ "' LIMIT 10";
String sql="SELECT emp_first_name,emp_last_name,msg_title,msg_body from message_master inner join emp_master ON emp_master.emp_id=message_master.empmsgsender_id AND message_master.emp_id IN(SELECT emp_id from message_master where emp_id LIKE %emp_id%)";
trace("After sql query");
sfsdb=getParentExtension().getParentZone().getDBManager();
conn=sfsdb.getConnection();
trace("connection established");
ps=conn.prepareStatement(sql);
rs=ps.executeQuery();
trace("After resultset");