SQL Statment auf die Select Variablen zugreifen

LordDarkness

Mitglied
Hallo,
ich habe folgenden Code:

Code:
try {
	xmlTpl = new TemplateLoader(request);
	xmlTpl.initTemplate("modules/xmlsearch/XMLSearch.tpl");
	xmlTpl.setWriter(new StringWriter());
	if (tt == true) {
		xmlTpl.addToContext("sword",dbConnector.getResultVector("select unique obj.obj_id, obj.abstract, obj.title, round(obj.file_size/1024,0), to_char(obj.accession_date, 'DD-MM-YY') from obj_tab obj, obj_key_tab key_rel, keyword_tab key, cross_tab cross,  obj_author_tab author, obj_author_obj_tab author_obj where key_rel.obj_id=obj.obj_id and key_rel.key_id=key.key_id  and cross.cross_id=obj.cross_id and author.AUTHOR_ID=author_obj.AUTHOR_ID and author_obj.OBJ_ID=obj.obj_id and ((upper(obj.abstract) like upper('%"
							+ setSword
							+ "%') or upper(obj.title) like upper('%"
							+ setSword
							+ "%') or upper(cross.cross_area) like upper('%"
							+ setSword
							+ "%') or upper(author.last_name) like upper('%"
							+ setSword
							+ "%') or upper(author.first_name) like upper('%"
							+ setSword + "%')))"));
				// zaehler++;

			}
			// Template Setzen

			// xmlTpl.addToContext("sword", setSword);
			xmlTpl.addToContext("defop", setDefOp);
			xmlTpl.addToContext("type", setType);
			xmlTpl.addToContext("resultcount", rCount(setSword, xmlTpl
					.getWriter().toString()));
			xmlTpl.addToContext("created", setCreated);
			// TEMPLATE FERTIG
			xmlTpl.mergeTemplateContext();
			return xmlTpl.getWriter().toString();
	} catch (SQLException e) {
			logger.debug(e.getMessage());
	} finally {
			dbConnector.closeDbConnection();
	}

Ich wollte fragen ob es möglich wäre die einzelnen objekte des selects von sword zugreifen kann, dass heisst nachdem es die Abfrage durchgeführt hat, will ich auf die Variablen obj.abstract, obj.title zugreifen. Wenn es möglich ist würde ich gerne wissen wie ich es machen soll.

Bitte im um Tipps und/oder Lösungsvorschläge
Gruß
Negi
 
Damit man es noch besser versteht stelle ich noch mein ganzes Programm rein:

Code:
import java.io.IOException;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.sql.SQLException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.log4j.Logger;

public class XMLSearch extends HttpServlet {

	private static final long serialVersionUID = 5946965066811596464L;
	private DatabaseConnector dbConnector = new DatabaseConnector();
	// ändern auf xml
	private static final String CONTENT_TYPE = "text/html; charset=windows-1252";
	private TemplateLoader xmlTpl;
	private Logger logger = new WebAppLogger(ShowObjects.class.getName())
			.getLogger();

	// Zaehler
	private int zaehler = -1;

	// @Override
	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {

		response.setContentType(CONTENT_TYPE);
		PrintWriter out = response.getWriter();
		out.println(showContent(request, out, response));
		out.close();
	}

	@Override
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		doGet(req, resp);
	}

	public String showContent(HttpServletRequest request, PrintWriter out,
			HttpServletResponse response) {

		String setSword = null;
		String setDefOp = null;
		String setType = null;
		String setResultcount = null;
		String setCreated = "Test";
		boolean tt = true;

		
		setSword = request.getParameter("sword");
		setDefOp = request.getParameter("defop");
		setType = request.getParameter("type");
		setResultcount = request.getParameter("resultcount");
		setCreated = request.getParameter("created");

		
		// DB ZUGRIFF

		try {
			xmlTpl = new TemplateLoader(request);
			xmlTpl.initTemplate("modules/xmlsearch/XMLSearch.tpl");
			xmlTpl.setWriter(new StringWriter());
			if (tt == true) {
				xmlTpl
						.addToContext(
								"sword",
								dbConnector
										.getResultVector("select unique obj.obj_id, obj.abstract, obj.title, round(obj.file_size/1024,0), to_char(obj.accession_date, 'DD-MM-YY') from obj_tab obj, obj_key_tab key_rel, keyword_tab key, cross_tab cross,  obj_author_tab author, obj_author_obj_tab author_obj where key_rel.obj_id=obj.obj_id and key_rel.key_id=key.key_id  and cross.cross_id=obj.cross_id and author.AUTHOR_ID=author_obj.AUTHOR_ID and author_obj.OBJ_ID=obj.obj_id and ((upper(obj.abstract) like upper('%"
												+ setSword
												+ "%') or upper(obj.title) like upper('%"
												+ setSword
												+ "%') or upper(cross.cross_area) like upper('%"
												+ setSword
												+ "%') or upper(author.last_name) like upper('%"
												+ setSword
												+ "%') or upper(author.first_name) like upper('%"
												+ setSword + "%')))"));
				// zaehler++;

			}
			// Template Setzen

			// xmlTpl.addToContext("sword", setSword);
			xmlTpl.addToContext("defop", setDefOp);
			xmlTpl.addToContext("type", setType);
			xmlTpl.addToContext("resultcount", rCount(setSword, xmlTpl
					.getWriter().toString()));
			xmlTpl.addToContext("created", setCreated);
			// TEMPLATE FERTIG
			xmlTpl.mergeTemplateContext();
			return xmlTpl.getWriter().toString();
		} catch (SQLException e) {
			logger.debug(e.getMessage());
		} finally {
			dbConnector.closeDbConnection();
		}
		// DB SCHLIESSEN!
		return setType;

		// WENN ERGEBNIS NULL: rausspringen (irgendwie)

	}
}

Habe noch einen Template, aber das ist glaub ich nicht nötig für mein problem xD
 

Neue Beiträge

Zurück