public ArrayList<ArrayList<String>> getDataTale2(String sql) throws SQLException {
ArrayList<ArrayList<String>> dt=new ArrayList<ArrayList<String>>();
sta =(SQLServerPreparedStatement)con.prepareStatement(sql);
rs=(SQLServerResultSet)sta.executeQuery();
SQLServerPreparedStatement stmt = (SQLServerPreparedStatement)con.prepareStatement(sql,ResultSet.TYPE_SCROLL_INSENSITIVE,ResultSet.CONCUR_READ_ONLY );
ResultSet rset = stmt.executeQuery();
ResultSetMetaData rsmd = rset.getMetaData() ;
int columnCount = rsmd.getColumnCount();
ArrayList<String> listNames=new ArrayList<>();
for (int c=0;c<columnCount;c++){
String cName=rsmd.getColumnName(c+1);
listNames.add(cName);
}
dt.add(listNames);
while(rs.next()){
ArrayList<String> list=new ArrayList<>();
for (int c=0;c<columnCount;c++){
String cName=rsmd.getColumnName(c+1);
list.add(rs.getString(cName));
}
dt.add(list);
}
rset.close();
if (rs != null) {
rs.close();
rs = null;
}
if (sta != null) {
sta.close();
sta = null;
}
if (con != null) {
con.close();
con = null;
}
return dt;
}