protected List<String[]> runQuery(String query) {
		List<String[]> res = new ArrayList<String[]>(100);
		Statement stmt = null;
		ResultSet rset = null;

		sqlMessage = "";
		try {
			stmt = conn.createStatement();
			rset = stmt.executeQuery(query);
			ResultSetMetaData rsmd = rset.getMetaData();
			int count = rsmd.getColumnCount();
			while (rset.next()) {
				String[] row = new String[count];
				for (int i=0;  i<count;  i++) {
					row[i] = rset.getString(i+1);
				}
				res.add(row);
			}
			sqlMessage = "OK";
		} catch (Exception sqlex) {
			sqlMessage = sqlex.getMessage();
		} finally {
			if (rset != null) try { rset.close(); } catch (Exception ex) { }
			if (stmt != null) try { stmt.close(); } catch (Exception ex) { }
		}
		return res;
	}