PageRenderTime 24ms CodeModel.GetById 18ms RepoModel.GetById 1ms app.codeStats 0ms

/steamavalos/src/mipk/beanDB.java

https://gitlab.com/alexaltair/proyectoBdSteam
Java | 299 lines | 260 code | 21 blank | 18 comment | 16 complexity | 835ed6e78bec6eb09fe1c612a0650410 MD5 | raw file
  1. package mipk;
  2. import java.sql.Connection;
  3. import java.sql.DriverManager;
  4. import java.sql.ResultSet;
  5. import java.sql.SQLException;
  6. import java.sql.Statement;
  7. import java.sql.ResultSetMetaData;
  8. public class beanDB {
  9. // Variables del bean
  10. private Connection cn; //La conexion a la base de datos
  11. //----- Metodo que realiza la conexion a la BD
  12. public void conectarBD() throws SQLException
  13. {
  14. try{
  15. Class.forName("com.mysql.jdbc.Driver").newInstance();
  16. cn=DriverManager.getConnection("jdbc:mysql://192.168.56.101/steam","userSteam","altair");
  17. }catch (SQLException e){
  18. System.out.println("Excepcion, en metodo ConectarBD(apertura DSN): " + e.getMessage());
  19. }
  20. catch(Exception e){}
  21. }
  22. //----- Método que realiza la desconexión de la BD
  23. public void desconectarBD()
  24. {
  25. try{
  26. cn.close();
  27. }catch (NullPointerException e){
  28. System.out.println("Excepcion, en metodo DesconectarBD: " + e.getMessage());
  29. }
  30. catch (SQLException e){
  31. System.out.println("Excepcion, en metodo DesconectarBD: " + e.getMessage());
  32. }
  33. }
  34. //----- M�todo que realiza la consulta sobre la BD
  35. public String[] resConsultaSelect(String selec, int numcol) throws SQLException
  36. {
  37. Statement stmt=null;
  38. ResultSet rs=null;
  39. String[] result=null;
  40. conectarBD();
  41. //System.out.println("CAMBIAR USO DE resConsultaSelect \r\n"+selec);
  42. try{
  43. //Este statement lo creamos así­ porque necesitamos que el result sea scrollable
  44. stmt=cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
  45. rs=stmt.executeQuery(selec);
  46. boolean hayFilas=rs.last(); //Movemos a la ultima fila para comprobar si hay filas,
  47. if (hayFilas)
  48. {
  49. int nFilas = rs.getRow();//y despues saber el numero de filas
  50. result=new String[nFilas*numcol];
  51. rs.beforeFirst();
  52. int i=0;
  53. while (rs.next())
  54. {
  55. int j = 1;
  56. while (j<=numcol)
  57. {
  58. result[i]=rs.getString(j);
  59. j++;
  60. i++;
  61. }
  62. }
  63. }
  64. else //No hay filas
  65. {
  66. result= null;
  67. }
  68. }catch(SQLException e){
  69. System.out.println("Excepcion, en acceso a BD: " + e.getMessage());
  70. System.out.println("La consulta ejecutada fue: " + selec);
  71. }
  72. catch (Exception e)
  73. {
  74. System.out.println(e.getMessage());
  75. }
  76. desconectarBD();
  77. return result;
  78. }
  79. public String[][] resConsultaSelectA3(String selec) throws SQLException
  80. {
  81. Statement stmt=null;
  82. ResultSet rs=null;
  83. String[][] result=null;
  84. conectarBD();
  85. try{
  86. //Este statement lo creamos así­ porque necesitamos que el result sea scrollable
  87. stmt=cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
  88. rs=stmt.executeQuery(selec);
  89. boolean hayFilas=rs.last(); //Movemos a la ultima fila para comprobar si hay filas,
  90. //result=new String[rs.getRow()][];
  91. if (hayFilas)
  92. {
  93. ResultSetMetaData rsmd = rs.getMetaData();
  94. int numberOfColumns = rsmd.getColumnCount();
  95. int numberOfRows = rs.getRow();
  96. result=new String[numberOfRows][numberOfColumns];
  97. rs.beforeFirst();
  98. int i=0;
  99. while (rs.next())
  100. {
  101. int j = 0;
  102. while (j<numberOfColumns)
  103. {
  104. try {
  105. if (!rs.getString(j+1).equals("null")) result[i][j]=rs.getString(j+1);
  106. else result[i][j]="";
  107. }
  108. catch (Exception e2) {
  109. result[i][j]="";
  110. }
  111. j++;
  112. }
  113. i++;
  114. }
  115. }
  116. }catch(SQLException e){
  117. System.out.println("Excepcion, en acceso a BD: " + e.getMessage());
  118. System.out.println("La consulta ejecutada fue: " + selec);
  119. }
  120. catch (NullPointerException e) {
  121. System.out.println(e.getMessage());
  122. }
  123. catch (Exception e)
  124. {
  125. System.out.println(e.getMessage());
  126. }
  127. desconectarBD();
  128. return result;
  129. }
  130. public String[][] SelectA3SinConectar(String selec) throws SQLException
  131. {
  132. Statement stmt=null;
  133. ResultSet rs=null;
  134. String[][] result=null;
  135. try{
  136. //Este statement lo creamos así­ porque necesitamos que el result sea scrollable
  137. stmt=cn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
  138. rs=stmt.executeQuery(selec);
  139. boolean hayFilas=rs.last(); //Movemos a la ultima fila para comprobar si hay filas,
  140. //result=new String[rs.getRow()][];
  141. if (hayFilas)
  142. {
  143. ResultSetMetaData rsmd = rs.getMetaData();
  144. int numberOfColumns = rsmd.getColumnCount();
  145. int numberOfRows = rs.getRow();
  146. result=new String[numberOfRows][numberOfColumns];
  147. rs.beforeFirst();
  148. int i=0;
  149. while (rs.next())
  150. {
  151. int j = 0;
  152. while (j<numberOfColumns)
  153. {
  154. try {
  155. if (!rs.getString(j+1).equals("null")) result[i][j]=rs.getString(j+1);
  156. else result[i][j]="";
  157. }
  158. catch (Exception e2) {
  159. result[i][j]="";
  160. }
  161. j++;
  162. }
  163. i++;
  164. }
  165. }
  166. }catch(SQLException e){
  167. System.out.println("Excepcion, en acceso a BD: " + e.getMessage());
  168. System.out.println("La consulta ejecutada fue: " + selec);
  169. }
  170. catch (NullPointerException e) {
  171. System.out.println(e.getMessage());
  172. }
  173. catch (Exception e)
  174. {
  175. System.out.println(e.getMessage());
  176. }
  177. return result;
  178. }
  179. //----- M�todo que realiza modificaciones sobre la BD
  180. public void update(String updateStatement)
  181. {
  182. Statement stmt=null;
  183. try {
  184. conectarBD();
  185. } catch (SQLException e1) {
  186. // TODO Auto-generated catch block
  187. e1.printStackTrace();
  188. }
  189. try
  190. {
  191. stmt=cn.createStatement();
  192. stmt.executeUpdate(updateStatement);
  193. }
  194. catch(SQLException e)
  195. {
  196. System.out.println("Excepcion, en acceso a BD: " + e.getMessage());
  197. System.out.println("La consulta ejecutada fue: " + updateStatement);
  198. }
  199. desconectarBD();
  200. }
  201. //----- M�todo que realiza inserciones en la BD
  202. public void insert(String insertStatement)
  203. {
  204. Statement stmt=null;
  205. try {
  206. conectarBD();
  207. } catch (SQLException e1) {
  208. // TODO Auto-generated catch block
  209. e1.printStackTrace();
  210. }
  211. try
  212. {
  213. stmt=cn.createStatement();
  214. stmt.execute(insertStatement);
  215. }
  216. catch(SQLException e)
  217. {
  218. System.out.println("Excepcion, en acceso a BD: " + e.getMessage());
  219. System.out.println("La consulta ejecutada fue: " + insertStatement);
  220. }
  221. desconectarBD();
  222. }
  223. //-- Se diferencia del anterior en que no hace la conexi�n ni la desconexi�n --
  224. public void insertSinConexiones(String insertStatement)
  225. {
  226. Statement stmt=null;
  227. try
  228. {
  229. stmt=cn.createStatement();
  230. stmt.execute(insertStatement);
  231. }
  232. catch(SQLException e)
  233. {
  234. System.out.println("Excepcion, en acceso a BD: " + e.getMessage());
  235. System.out.println("La consulta ejecutada fue: " + insertStatement);
  236. }
  237. }
  238. //----- M�todo que borra registros de la BD
  239. public void delete(String deleteStatement)
  240. {
  241. Statement stmt=null;
  242. try {
  243. conectarBD();
  244. } catch (SQLException e1) {
  245. // TODO Auto-generated catch block
  246. e1.printStackTrace();
  247. }
  248. try
  249. {
  250. stmt=cn.createStatement();
  251. stmt.execute(deleteStatement);
  252. }
  253. catch(SQLException e)
  254. {
  255. System.out.println("Excepcion, en acceso a BD: " + e.getMessage());
  256. System.out.println("La consulta ejecutada fue: " + deleteStatement);
  257. }
  258. desconectarBD();
  259. }
  260. public static String[] arraypks(String tabla) {
  261. beanDB ddbb=new beanDB();
  262. String[][] resultConsultaA3=null;
  263. String strSqlConsulta="select * from "+tabla;
  264. try {
  265. resultConsultaA3=ddbb.resConsultaSelectA3(strSqlConsulta);
  266. } catch (SQLException e) {
  267. // TODO Auto-generated catch block
  268. e.printStackTrace();
  269. }
  270. String[] resultado=null;
  271. if (resultConsultaA3!=null) {
  272. resultado=new String[resultConsultaA3.length];
  273. for (int i=0;i<resultConsultaA3.length;i++)
  274. resultado[i]=resultConsultaA3[i][0];
  275. }
  276. return resultado;
  277. }
  278. }