16
|
1 function varargout = query(conn, query, varargin)
|
|
2 % QUERY Query an LTPDA repository.
|
0
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
3 %
|
16
|
4 % DEPRECATED! Use utils.mysql.execute instead!
|
0
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
5 %
|
16
|
6 % CALL: [results] = query(conn, q, varargin)
|
|
7 % [results, cnames] = query(conn, q, varargin)
|
0
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
8 %
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
9 % INPUTS:
|
16
|
10 %
|
|
11 % conn - database connection object implementing java.sql.Connection
|
|
12 % query - a valid SQL query
|
|
13 % varargin - optional query parameters
|
0
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
14 %
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
15 % OUTPUTS:
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
16 %
|
16
|
17 % results - a cell-array of the results
|
|
18 % cnames - a cell-array of the column names in the query
|
0
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
19 %
|
16
|
20 % VERSION: $Id: query.m,v 1.1 2009/07/27 19:46:21 hewitson Exp $
|
|
21 %
|
0
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
22
|
16
|
23 warning('!!! deprecated. use utils.mysql.execute instead');
|
0
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
24
|
16
|
25 if ~isa(conn, 'java.sql.Connection')
|
|
26 error('### first argument should be a java.sql.Connection object');
|
0
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
27 end
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
28
|
16
|
29 stmt = conn.prepareStatement(query);
|
|
30 for kk = 1:numel(varargin)
|
|
31 stmt.setObject(kk, varargin{kk});
|
0
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
32 end
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
33
|
16
|
34 % execute query
|
|
35 resultSet = stmt.executeQuery();
|
0
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
36
|
16
|
37 % set outputs
|
0
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
38 if nargout > 0
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
39 varargout{1} = resultSet;
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
40 if nargout == 2
|
16
|
41 % get column names from the meta data
|
0
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
42 rsm = resultSet.getMetaData;
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
43 Nc = rsm.getColumnCount;
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
44 colnames = cell(1,Nc);
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
45 for kk=1:Nc
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
46 colnames{kk} = char(rsm.getColumnName(kk));
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
47 end
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
48 varargout{2} = colnames;
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
49 end
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
50 end
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
51
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
52 end
|
Daniele Nicolodi <nicolodi@science.unitn.it>
parents:
diff
changeset
|
53
|