Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.

Mensajes - rommel360

Páginas: [1] 2
1
bueno pues ya lo resolvi. el problema fue que tenia mal mi regla ya que mi regla era global

Código: Python
  1.  Rule(LinkExtractor(allow=r'page/'),callback = 'parse', follow=True ),

y buscaba todo lo que tuviera /page pero yo solo queria lo que fuera asi http://quotes.toscrape.com/page/2/

y no http://quotes.toscrape.com/tag/love/page/1/ ya que esta forma es dominio + subcarpeta + page/ y no me servia ya que lo correcto para mi ejemplo es dominio/+page/1,2,3,4,5,6,7,8,9,10 (cada una de esa es un page/2 page/3 page/4 etc)

a si que lo que hice fue cambiar mi regla (allow=r'page/') por .com/page/ y asi, si se trai esto solamente http://quotes.toscrape.com/page/2/ porque se cumple .com + page/1,2,3,4 etc. y esta ya no se cumple .com/subcarpeta/subcarpeta/page/1

a si que al final quedo

Código: Python
  1. import scrapy
  2.  
  3. from scrapy.spiders import CrawlSpider, Rule
  4. from scrapy.linkextractors import LinkExtractor
  5.  
  6. class WitsiSpider(CrawlSpider):
  7.     name = 'witsi'
  8.     allowed_domains = ['quotes.toscrape.com']
  9.     start_urls = ['[url]http://quotes.toscrape.com/page/1/[/url]']
  10.     base_url = '[url]http://quotes.toscrape.com/page/1/[/url]'
  11.      
  12.     rules = (
  13.         Rule(LinkExtractor(allow=r'.com/page/'),callback = 'parse', follow=True ),
  14.     )
  15.        
  16.     def parse(self, response):
  17.         citas = response.xpath('//*[@class="quote"]')
  18.         for cita in citas:
  19.             texto = cita.xpath('.//span[@class="text"]/text()').extract_first()
  20.             autor = cita.xpath('.//*[@class="author"]/text()').extract_first()
  21.             palabras_claves = cita.xpath('.//*[@itemprop="keywords"]/@content').extract_first()
  22.            
  23.             yield{ 'Texto' : texto,
  24.                    'Autor' : autor,
  25.               'Palabras Claves' : palabras_claves }
  26.  

gracias a todos por su ayuda

2
Código: Python
  1. import scrapy
  2.  
  3. class WitsiSpider(scrapy.Spider):
  4.     name = 'witsi'
  5.     allowed_domains = ['[url=http://www.quotes.toscrape.com]www.quotes.toscrape.com[/url]']
  6.     start_urls = ['[url]http://quotes.toscrape.com[/url]']
  7.  
  8.     def parse(self, response):
  9.         citas = response.xpath('//*[@class="quote"]')
  10.         for cita in citas:
  11.            texto = cita.xpath('.//*[@class="text"]/text()').extract_first()
  12.            autor = cita.xpath('.//*[@class="author"]/text()').extract_first()
  13.            palabras_claves = cita.xpath('.//*[@itemprop="keywords"]/@content').extract_first()
  14.            
  15.            yield{ 'Texto' : texto,
  16.                  'Autor' : autor,
  17.                  'Palabras Claves' : palabras_claves }
  18.            
  19.         url_a_continuar = response.xpath('//ul[@class="pager"]/li[@class="next"]/a/@href').extract()
  20.         url_siguiente = response.urljoin(url_a_continuar)
  21.         yield scrapy.Request(url_siguiente, callback = self.parse)
  22.  

estoy aprendiendo un poco de esto y el problema que tengo es que no puedo hacer que mi arañita siga el enlace y lo unico que hace es repetirme los datos.
Como seria para que la araña siga el enlace y pueda continuar sacando la informacion?

estoy practicando con la siguiente pagina de internet

http://quotes.toscrape.com

Bueno e editado mi araña despues de investigar y ya consegui seguir los link pero el problema es que me repite la informacion. que estare haciendo mal?

Nueva Version
Código: Python
  1. import scrapy
  2.  
  3. from scrapy.spiders import CrawlSpider, Rule
  4. from scrapy.linkextractors import LinkExtractor
  5.  
  6. class WitsiSpider(CrawlSpider):
  7.     name = 'witsi'
  8.     allowed_domains = ['quotes.toscrape.com']
  9.     start_urls = ['[url]http://quotes.toscrape.com[/url]']
  10.  
  11.     rules = (
  12.         Rule(LinkExtractor(allow=r'page/'),callback = 'parse', follow=True ),
  13.     )
  14.        
  15.     def parse(self, response):
  16.         citas = response.xpath('//*[@class="quote"]')
  17.         for cita in citas:
  18.             texto = cita.xpath('.//*[@class="text"]/text()').extract_first()
  19.             autor = cita.xpath('.//*[@class="author"]/text()').extract_first()
  20.             palabras_claves = cita.xpath('.//*[@itemprop="keywords"]/@content').extract_first()
  21.            
  22.             yield{ 'Texto' : texto,
  23.                    'Autor' : autor,
  24.               'Palabras Claves' : palabras_claves }
  25.            
  26.        
  27.             yield
  28.  

Esto es una parte de la salida de mi araña y como ven en este caso son citas de poemas me los repite y a si con otros
Código: Text
  1. {"Texto": "\u201cA woman is like a tea bag; you never know how strong it is until it's in hot water.\u201d", "Autor": "Eleanor Roosevelt", "Palabras Claves": "misattributed-eleanor-roosevelt"},
  2. {"Texto": "\u201cA day without sunshine is like, you know, night.\u201d", "Autor": "Steve Martin", "Palabras Claves": "humor,obvious,simile"},
  3. {"Texto": "\u201cLife is what happens to us while we are making other plans.\u201d", "Autor": "Allen Saunders", "Palabras Claves": "fate,life,misattributed-john-lennon,planning,plans"},
  4. {"Texto": "\u201cLife is what happens to us while we are making other plans.\u201d", "Autor": "Allen Saunders", "Palabras Claves": "fate,life,misattributed-john-lennon,planning,plans"},
  5. {"Texto": "\u201cLife is what happens to us while we are making other plans.\u201d", "Autor": "Allen Saunders", "Palabras Claves": "fate,life,misattributed-john-lennon,planning,plans"},
  6. {"Texto": "\u201c... a mind needs books as a sword needs a whetstone, if it is to keep its edge.\u201d", "Autor": "George R.R. Martin", "Palabras Claves": "books,mind"},
  7. {"Texto": "\u201cYou have to write the book that wants to be written. And if the book will be too difficult for grown-ups, then you write it for children.\u201d", "Autor": "Madeleine L'Engle", "Palabras Claves": "books,children,difficult,grown-ups,write,writers,writing"},
  8. {"Texto": "\u201cYou have to write the book that wants to be written. And if the book will be too difficult for grown-ups, then you write it for children.\u201d", "Autor": "Madeleine L'Engle", "Palabras Claves": "books,children,difficult,grown-ups,write,writers,writing"},
  9. {"Texto": "\u201cYou have to write the book that wants to be written. And if the book will be too difficult for grown-ups, then you write it for children.\u201d", "Autor": "Madeleine L'Engle", "Palabras Claves": "books,children,difficult,grown-ups,write,writers,writing"},
  10. {"Texto": "\u201cYou have to write the book that wants to be written. And i
  11.  



3
Dudas y pedidos generales / [SOLUCIONADO] conocer el tipo de cifrado
« en: Septiembre 30, 2019, 06:39:59 pm »
tengo unas claves que están cifradas. pero el problema que el tamaño del cifrado en hexadecimal puede variar no es como el MD5 o SHA1 que no importa lo que escribes siempre es la misma longitud.

pero estas que tengo varían.

Y quisiera saber si alguien conoce que tipo de cifrado te da como resultado un hexadecimal que puede varia su longitud.

estas son las claves cifradas:

1-) 71ba0d5e54dd0159cc8cd8319dce929cc1c6ab796caf5320

2 -) cce607a34a32e949a6d74ea5b1434edbe263a324a8f4b796fadc452fc291ce19

3 -) 23f569c5f1ab9fffacd26ff855b47ca75aeb4cf619a698e6

4 -) 819729c6f4a5f3e8c2f68daee6819faf88e274e8faeee60a60615dff83775400

5 -) 150676184b9febe4e45a1722639625bcee62f74917c181c694cd6e3b494800ba28c3f15f1648cc0c

6 -) 2cfcfd00910a7ac5b86447a03b6c8a5a23b41f3fcee6e2394922cf0f2bd39ed7

creen que sea con un tipo de cifrado conocido o se lo habrán inventado.?

4
es posible que un programa  hecho en JAva este corriendo aunque el usuario de en cerrar Sesión o la computadora se bloquee sola.

es que hice un programa en JAva que esta subiendo datos cada cierto tiempo a otro servidor. pero al dar cerrar sesión y volver entrar a la sesión el programa ya aparece cerrado.

y me gustaría que siguiera el programa monitoreando (algo a si como el antivirus que sigue ejecutándose aunque cierres sesión) y subiendo datos a otro servidor aunque uno cierre la sesión.

es posible en windows server. O ¿no se puede hacer eso y es normal que las aplicaciones se cierren?

5
Ya lo solucione.

Pos al parecer mi archivo MySQL.socket se renombro magicamente (ya que este archivo yo nunca lo toque. Yo  estaba configurando el archivo Server.cnf de la capeta etc/my.cnf.d/), pasando de ese nombre (MySQL.socket) a MySQLD.socket.

Y debido a que magicamente se renombro ese archivo sin que yo me diera cuenta, pues mi Servidor de BD ya no funciono y siguiendo el Error que me marcaba el Servidor "Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'" .

A si que decidi ir a esa ruta y en efecto ese archivo no estaba (mysql.sock) y el que estaba era el mysqld.sock (para esto yo no sabia que este no era su nombre original y tampoco sabia que pesaba 0 KB por lo menos en FilleZilla esto me marca) por lo tanto crei que se habia dañado el archivo ya que tambien vi que decía 0kb cosa que se mi hizo raro. y pues como yo solo modifique un archivo  (Server.cnf) pense que el error era de ese lugar a si que fui lo abri y le pegue el codigo que tenia de un respaldo de ese archivo, para mi sorpresa seguia sin funcionar el servidor. Ya  despues de investigar mucho por todo lados, me dije:

Ya modifique todo lo que yo modifique (jajaja) y el servidor me sigue diciendo "Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock'" a si que volvi a ir a esa ruta. Y que le quito la letra D que tenia el archivo.

Eurekaaa funciono de nuevo mi servidor jajajajaj

A siq ue la solucion fue quitar la letra D al archivo MySQLD.socket (q se le puso magicamente )para que quedara como MySQL.socket

 gracias a todos

6



Si no es asi. me pueden decir como lo reparo. o donde buscarlo para descargar el archivo y reemplazarlo.

Cabe destacar que no me deja ni descargarlo ni editarlo po medio de FileZilla

7
Dudas y pedidos generales / Re:duda con SQLException IOException JAVA
« en: Mayo 26, 2019, 06:49:32 pm »
thanks por la respuesta

8
la dudaa duuudaaa es.

tengo una clase Consultas donde estan todas las consultas SQL y pues cada consulta lleva su TRY CATCH

En otra clase mando a llamar a la clase Consultas. Si por alguna razon entra a algunos de los catch
Código: Java
  1. catch (SQLException ex)
  2. {
  3. }
  4. {
  5. }
  6. catch (IOException e) {
  7. }
  8.  

seria correcto hacer que el programa se salga con System.exit( 0 ) en cada un de los CATCHS por si el error perjudica y ya no funciona bien el programa

o

como ya tiene sus CATCH al programa no le pasa nada y puede seguir trabajando como si nada pasara y por lo tanto con solo mostrar un mensaje "Hubo un error SQL" (dependiendo del CATCH que entre sale el error ) y sin necesidad de hacer q el programa se cierre con System.exit(0).

tambien antes de hacer las consultas tengo desactivado el auto commit  a si que se enviara todo si el programa llega bien hasta la parte de consulta.commit(); de lo contrario hara un rollback.

9
Dudas y pedidos generales / Re:Poblema al cargar diseños
« en: Mayo 20, 2019, 03:37:16 pm »
una froma para ver si tengo bien escritas las etiquitas es en la pagina dar clic derecho y despues ver codigo fuente  de esta pagina

por lo menos en Firefox todo lo que se coloree de rojo es porq esta mal escrito


tambien estaria bien ver la cabecera donde manas a llamar tus archivo y si es posible la estructura de tu proyecto por ejempllo

proyecto
|
|----->JavaScript
         |_________>index.js
         |_________>boostrap.js

etc.

algo a si

10
Dudas y pedidos generales / Re:duda relacionar tabla en base de datos
« en: Mayo 20, 2019, 03:34:54 pm »
al final ya no entendí  ;D ;D ;D ;D

11
Dudas y pedidos generales / Re:AYUDA en conexion por favor
« en: Mayo 20, 2019, 02:58:57 pm »
también en vez de acceder al resultado por el numero de la columna puedes acceder por el nombre de la columna, tambien podrias acceder pormedio de un ArrayList<String[]> arreglo = new ArrayList<>(); y asii ya no te preocupas de definir le un tamaño y solamente con el metodo addElement vas agregando los valores

Código: Java
  1. while( valores.next() )
  2. {
  3.        arreglo.addElement(valores.getString( "IDReferencia" ))
  4.        areglo.addElement(valores.getString( "IDPaciente" ));
  5.       areglo.addElement( valores.getString( "IDUMedicaEnvia" ));
  6.                                        
  7. }
  8.  
  9.  


pero si es con el arreglo de String que difiniste solo tendría un cambio

Código: Java
  1. int x = 1;//no recuedo si las columnas de una tabla empiezan por 0 o desde el 1 jajajaja
  2. while(rs.next())
  3. {
  4.  datos[x-1]=rs.getString(x);
  5. //x-1 por q los arreglos empiezan desde el 0 a contar y el otro lado solo queda como x ya q tiene el 1 y es el primer campo de la tabla y a si tambien para que no se salga del tamaño del arrglo en caso de que si empiece por el 1 las columnas de una tabla entonces solo ponemos datos<ul class="bbc_list"><li type="square">[/li][/list]
  6.  
  7. x++;
  8. }
  9.  

12
Dudas y pedidos generales / Re:AYUDA en conexion por favor
« en: Mayo 20, 2019, 02:38:33 pm »
Veo que el error eta en esta parte

Código: Java
  1.  String[]datos=new String[columnas];
  2.  
  3.  for(int x=0;x<datos.length;x++){
  4.                         datos
  5.  
  6.     =rs.getString(x+1);
  7.  
  8.  
  9.                     }
  10.  

lo que pasa es que te estas saliendo del arreglo, por ejemplo si colomnas vale 5 entonces tu arreglo datos mide 5

pero si tu consulta SQL solo trajo 3 valores. entonces se sale de la longitud ya que el ciclo FOR tiene que llegar hasta el 4 ( del 0 al son 5 elementos )
cuando en realidad solo tiene que llegar al 3 porq es el total de elementos que tiene tu consulta.

Y si en dado caso cuando datos mida 2 ahora te van a faltar elementos ya q no va arecorrer todos los datos de la consulta por eso mejor

usan while( resultado.next()) a sii no importa cuantos datos tnga solamente se va arecorrer los que deben de ser. ni mas ni menos

espero haberme explicado jijijijj

alguna recomendacion:

al ser sentencia preparada, algo que debe de llevar tu consulta es ? por cada valor que lleve por ejemplo

SELECT aPterno, aMaterno, Nombre FROM clientes WHERE idCliente = '0001' AND fecha > '2019-01-08';

Tendria que ir a si
SELECT aPterno, aMaterno, Nombre FROM clientes WHERE idCliente = ? AND fecha > ?;

//Luego tienes q
conexion.pst.setString( 1, '0001' );
conexion.pst.setString( 1, '2019-01-08' );

resultadio = conexion.pst.executeQuery();

usa mejor un While en vez del IF de todas manera si la consulta no trajo nada entonces no entra al While

while( valores.next() )
{

}

13
Dudas y pedidos generales / Re:no funciona funcion commit usando Java
« en: Mayo 03, 2019, 05:59:37 pm »
listo KARNAL. Ya pude hacerlo, gracias a tu  observacion.

lo que hice fue dividir la clase Conexion que construia tanto a SQL SERVER como a  MySQL a si que tengo una Conexion a SQL Server y otra clase Conexion a MySQL, tambien los metodos que llamaban a MySQL que se encontraban en la clase Consulta los quite de alli y los meti en otra clase aparte; tambien lo dividi, a si que tengo 2 clases Consultas  una Consulta SQL Server que llaman solamente a metodos SQL Server  y la otra ConsultasMySQL que llama solo a los metodos MYSQL.

A cada metodo le quite la parte donde se hacia una conexion ya sea a SQL Server ( conexion.crearConexionSQL()) o a MySQL (conexion.crearConexionMySQL() ) y estos metodos los pase a su respectivo constructor

Código: Java
  1. public Consultas( String servidor, String puerto, String nombre_base_datos, String usuario, String clave )
  2.    {
  3.       conexion = new Conexion( servidor , puerto , nombre_base_datos , usuario , clave );
  4.      
  5.       try
  6.       {
  7.          conexion.crearConexionSQL();
  8.       } catch (ClassNotFoundException e)
  9.       {
  10.          JOptionPane.showMessageDialog( null, "EN Consultas Consultas ClassNotFoundException \n\n " + e.getMessage(), "ERROR DE SISTEMA 19", JOptionPane.ERROR_MESSAGE );
  11.          System.exit( 0 );
  12.       }
  13.    }
  14.  

y para MySQL

Código: Java
  1. public ConsultasMySQL( String servidor, String puerto, String nombre_base_datos, String usuario, String clave )
  2.    {
  3.       conexion = new ConexionMySQL( servidor , puerto , nombre_base_datos , usuario , clave );
  4.      
  5.       try
  6.       {
  7.          conexion.crearConexionMySQL();
  8.       } catch (ClassNotFoundException e)
  9.       {
  10.          JOptionPane.showMessageDialog( null, "EN ConsultasMySQL ConsultasMySQL ClassNotFoundException \n\n " + e.getMessage(), "ERROR DE SISTEMA 19", JOptionPane.ERROR_MESSAGE );
  11.          System.exit( 0 );
  12.       }
  13.    }
  14.  

a si ya solamente creo una conexion de cada uno y no una conexion por cada metodo que entraba (tal y como me lo hiciste ver al decir que me fijara que no estuviera haciendo conexiones multiples ).

Ahora si, si hay algun dato mal de las tablas que consulto, esos datos ya no se enviarian y tampoco los datos anteriores en dado caso q si estubieran correctos.

Gracias.

14
Dudas y pedidos generales / Re:no funciona funcion commit usando Java
« en: Mayo 02, 2019, 06:32:19 pm »
sabes, tienes razon la cosa va por alli, en la conexion ya que probe con sola una consulta y su funciono, pero a la hora de haer todas las consultas es cuando ya no

Código: Java
  1.  
  2. propiedad.getPropiedad().setProperty( "ultimoRegistro", String.valueOf( consulta.obtenerTotalRegistros( 1 ) ) );
  3.                         consulta.exportarMySQL( consulta.ObtenerReferencia() , 1 );
  4.                         mySystemTray.MensajeTrayIcon( "COMENZANDO CON LA B\u00DASQUEDA DE PACIENTES" , MessageType.INFO );
  5.                         //El segundo parametro puede ser cualquier cadena, ya que va entrar en la opcion 1 y no necesita el segundo parametro
  6.                         //al menos que se entre a la opcion 2 alli si ocuparia el segundo parametro valido.
  7.                         consulta.insertarPaciente( consulta.obtenerPaciente( 1 , "" ) );
  8.                         mySystemTray.MensajeTrayIcon( "COMENZANDO CON LA B\u00DASQUEDA DE SOMATOMETRIA" , MessageType.INFO );
  9.                         consulta.insertarSomatometria( consulta.obtenerSomatometria() );
  10.                         mySystemTray.MensajeTrayIcon( "COMENZANDO CON LA B\u00DASQUEDA DE CONTRAREFERENCIA" , MessageType.INFO );
  11.                         consulta.exportarMySQL( consulta.ObtenerContrareferencia(), 2 );
  12.                         propiedad.getPropiedad().setProperty( "ultimaContrareferencia", String.valueOf( consulta.obtenerTotalRegistros( 2 ) ) );
  13.                         mySystemTray.MensajeTrayIcon( "COMENZANDO CON LA B\u00DASQUEDA DETALLES DIAGN\u00D3STICOS DE EGRESO" , MessageType.INFO );
  14.                         consulta.exportarMySQL( consulta.ObtenerDetContraReferenciaDiag(), 3 );
  15.                         propiedad.getPropiedad().setProperty( "ultimoDetalleDiagnostico", String.valueOf( consulta.obtenerTotalRegistros( 3 ) ) );
  16.                         propiedad.getPropiedad().setProperty( "checksum" , String.valueOf( consulta.seActualizoSomatometria() ) );
  17.                         mySystemTray.MensajeTrayIcon( "FINALIZADO CORRECTAMENTE" , MessageType.INFO );
  18.                        
  19. consulta.com();//Hace el  commit
  20.                         //consulta.getConexion().cerrarConexion();
  21.                        
  22.                         //System.out.println(consulta.getConexion().getConsultaExitosa());
  23.                         if(consulta.getConexion().getConsultaExitosa() )
  24.                         {
  25.                            System.out.println("siii");
  26.                            propiedad.salvarConfiguracion();
  27.                         }
  28.  

aqui estoy haciendo consultas tanto en SQL server como MySQL al mismo tiempo y me imagino que se queda la conexion del ultimo metodo que se accedio perdiendose las otras conexiones. Ya que en la clase consultar creo una Conexion MySQL o SQL server dependiendo del metodo y tal parece que al hacer eso se pierde y se queda con la ultima conexion.

15
El problema es que tengo una aplicacion en Java que lee registros de una BD en SQL SERVER 2008 R2 y esos datos las envia a una BD en MySQL. El programa si hace lo que tiene que hacer. Pero quiero usar la funcion commit por si hubo algun problema a la hora de hacer las movidad de los datos de una base a otra se deshaga todo el cambio (rollback).

Leyendo vi que mis tablas que estan en MySQL deben tener el motor de  InnoDB en vez de MyISAM que es el motor por default. Y tiene que ser InnoDB porque este si soporta la funcion commit , setAutoCommit (para ponerla en falso y a si no haga commit automaticamente) y la funcion rollback (para deshacer cualquier cambio por si salio algo mal en el commit). Pos mi problema es este que los datos no se guardan en las tablas de MySQL .

Clase conexion

Código: Java
  1.  
  2. public void crearConexionSQL() throws ClassNotFoundException
  3.    {
  4.       try
  5.       {
  6.          Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
  7.          conexion = DriverManager.getConnection("jdbc:sqlserver://" + servidor + ":" + puerto + ";databaseName=" +  nombre_base_datos + ";user=" + usuario + ";password=" + clave + "");
  8.  
  9. conexion.setAutoCommit(false);//Se desactiva el auto commit
  10.       }
  11.       catch (SQLException ex)
  12.       {
  13.          JOptionPane.showMessageDialog( null, "EN CONEXION crearConexionSQL SQLException \n\n" + ex.getMessage(), "ERROR DE SISTEMA 40", JOptionPane.ERROR_MESSAGE );
  14.       }
  15.    }
  16.    
  17.    public void crearConexionMySQL() throws ClassNotFoundException
  18.    {
  19.       try
  20.       {
  21.          Class.forName("com.mysql.jdbc.Driver");
  22.          conexion = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/referencia_contrareferencia", "root" , "" );
  23.          
  24.          conexion.setAutoCommit(false);//Se desactiva el auto commit
  25.       }
  26.       catch (SQLException ex)
  27.       {
  28.          JOptionPane.showMessageDialog( null, "EN CONEXION crearConexionMySQL SQLException \n\n" + ex.getMessage(), "ERROR DE SISTEMA 56", JOptionPane.ERROR_MESSAGE );
  29.       }
  30.       catch (ClassNotFoundException e)
  31.       {
  32.          JOptionPane.showMessageDialog( null, "EN CONEXION crearConexionMySQL ClassNotFoundException \n\n" + e.getMessage(), "ERROR DE SISTEMA 60", JOptionPane.ERROR_MESSAGE );
  33.       }
  34.    }
  35.  
  36. public void aceptarSentencias()
  37.    {
  38.       try
  39.       {
  40.          conexion.commit();
  41.          consultaExitosa( true );
  42.       }
  43.       catch (SQLException e)
  44.       {
  45.          desHacerSentencia();
  46.          JOptionPane.showMessageDialog(null, "EN CONEXION aceptarSetencias SQLException \n\n" + e.getMessage(), "ERRORDE SISTEMA 128", JOptionPane.ERROR_MESSAGE );
  47.       }
  48.    }
  49.    
  50.    public void desHacerSentencia()
  51.    {
  52.       try
  53.       {
  54.          conexion.rollback();
  55.          consultaExitosa( false );
  56.          System.out.println("dadadasd");
  57.       }
  58.       catch (SQLException e)
  59.       {
  60.          JOptionPane.showMessageDialog(null, "EN CONEXION desHacerSentencia SQLException \n\n" + e.getMessage(), "ERRORDE SISTEMA 140", JOptionPane.ERROR_MESSAGE );
  61.       }
  62.    }
  63.  
  64.  

clase consulta

Código: Java
  1. public Vector<Object[]> obtenerSomatometria() throws SQLException
  2.    {
  3.       Vector<Object[]> datos= new Vector<Object[]>();
  4.      
  5.       datos.clear();
  6.      
  7.       ResultSet valores;
  8.      
  9.       try
  10.       {
  11.          conexion.crearConexionSQL();
  12.          //conexion.getConexion().setAutoCommit(false);
  13.          
  14.          conexion.setSetenciaPreparada(
  15.                conexion.getConexion().prepareStatement(
  16.                      "SELECT IDPaciente, IDDiccionario, cCve_Respuesta, cValor " +
  17.                            "FROM somatometria" ) );
  18.          
  19.          valores = conexion.ejecutarConsultaObtener();
  20.          
  21.          while( valores.next() )
  22.          {
  23.             datos.addElement(
  24.                   new Object[]
  25.                         {
  26.                               valores.getString( 1 ),valores.getString( 2 ),valores.getString( 3 ),
  27.                               valores.getString( 4 )
  28.                         }
  29.                   );
  30.          }
  31.          
  32.          //conexion.getSetenciaPreparada().close();
  33.          //conexion.cerrarConexion();
  34.       }
  35.       catch (SQLException ex)
  36.       {
  37.          JOptionPane.showMessageDialog( null, "ERROR DE EJECUCI\u00D3N DEL QUERY CONSULTAS obtenerPaciente SQLException \n\n" + ex.getMessage(), "ERROR DE SISTEMA 454", JOptionPane.ERROR_MESSAGE );
  38.          System.exit( 0 );
  39.       }
  40.       catch (ClassNotFoundException e)
  41.       {
  42.          JOptionPane.showMessageDialog( null, "EN CONSULTAS obtenerPaciente ClassNotFoundException \n\n" + e.getMessage() , "ERROR DE SISTEMA 459", JOptionPane.ERROR_MESSAGE );
  43.          System.exit( 0 );
  44.       }
  45.       catch( NullPointerException e)
  46.       {
  47.          JOptionPane.showMessageDialog( null, "EN CONSULTAS obtenerPaciente NullPointerException \n\n" + e.toString() , "ERROR DE SISTEMA 464", JOptionPane.ERROR_MESSAGE );
  48.          System.exit( 0 );
  49.       }
  50.      
  51.       return datos;
  52.    }
  53.  
  54.  
  55.    public void exportarMySQL( Vector<Object[]> datos, int opcion ) throws SQLException
  56.    {
  57.       try
  58.       {
  59.          int indice = 1;
  60.          
  61.          conexion.crearConexionMySQL();
  62.          
  63.          for (Object[] objects : datos)
  64.          {
  65.             if( opcion == 1 )
  66.             {
  67.                conexion.setSetenciaPreparada(
  68.                   conexion.getConexion().prepareStatement(
  69.                      "INSERT INTO referencias ( IDReferencia,IDPaciente,IDUMedicaEnvia,IDUMedicaRef,cDescripcionRef,cServicio,cDiagnostico,cMotivoReferencia,cResumenClinico,cTratamiento,cFecha,IDMedico,cStatus,IdMotivo,cCompleta,dFecha_Cancelacion,IdPersonal_Cancela,cMotivo_Cancelacion,cUrgente,cNombreMedico,dFechaPrimeraAtencion,cStatusEnviado ) VALUES( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )"
  70.                      )
  71.                );
  72.             }
  73.             else if( opcion == 2 )
  74.             {
  75.                conexion.setSetenciaPreparada(
  76.                      conexion.getConexion().prepareStatement(
  77.                         "INSERT INTO ContraReferencias (IDUMedica, IDContraReferencia, IDServicio, IDAreaMedica, cResumenClinico, cRecomendaciones, IDPersonal_Elabora, IDUnidadReferencia, IDReferencia, cObservaciones, dFecha_Reg, cStatus, dFecha_Cancelacion, IDPersonal_Cancela, cMotivo_Cancelacion, cNombreMedico, cStatusEnviado) VALUES( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )"
  78.                         )
  79.                   );
  80.             }
  81.             else
  82.             {
  83.                conexion.setSetenciaPreparada(
  84.                      conexion.getConexion().prepareStatement(
  85.                         "INSERT INTO Det_ContraReferencia_Diag ( IDUMedica,IDContraReferencia,IDDiagnostico,cDescripcion,cmotivocontrareferencia,IDReferencia ) VALUES( ?, ?, ?, ?, ?, ? )"
  86.                         )
  87.                   );
  88.             }
  89.            
  90.             for( Object valores : objects )
  91.             {
  92.                conexion.getSetenciaPreparada().setObject( indice, valores );
  93.                
  94.                ++indice;
  95.             }
  96.             conexion.ejecutarConsultaModificar();
  97.            
  98.             indice = 1;
  99.          }
  100.          
  101.          //conexion.getSetenciaPreparada().close();
  102.          //conexion.cerrarConexion();
  103.       }
  104.       catch (SQLException ex)
  105.       {
  106.          JOptionPane.showMessageDialog( null, "ERROR DE EJECUCI\u00D3N DEL QUERY CONSULTAS exportarMySQL SQLException \n\n" + ex.getMessage(), "ERROR DE SISTEMA 131", JOptionPane.ERROR_MESSAGE );
  107.          System.exit( 0 );
  108.       }
  109.       catch (ClassNotFoundException e)
  110.       {
  111.          JOptionPane.showMessageDialog( null, " EN CONSULTAS exportarMySQL ClassNotFoundException \n\n" + e.getMessage(), "ERROR DE SISTEMA 136", JOptionPane.ERROR_MESSAGE );
  112.          System.exit( 0 );
  113.       }
  114.       catch( NullPointerException e)
  115.       {
  116.          JOptionPane.showMessageDialog( null, " EN CONSULTAS exportarMySQL NullPointerException \n\n" + e.toString(), "ERROR DE SISTEMA 141", JOptionPane.ERROR_MESSAGE );
  117.          System.exit( 0 );
  118.       }
  119.    }
  120.  
  121.  

Código: Java
  1. mySystemTray.MensajeTrayIcon( "COMENZANDO CON LA B\u00DASQUEDA DE CONTRAREFERENCIA" , MessageType.INFO );
  2.                         consulta.exportarMySQL( consulta.ObtenerContrareferencia(), 2 );
  3.  
  4. consulta.getConexion().aceptarSentencias();
  5.                        
  6.                        
  7. f(consulta.getConexion().getConsultaExitosa() )
  8. {
  9.    System.out.println("siii"); //Si entra aqui por lo tanto no hubo ningun error pero aun a si no se guarda nada
  10.   propiedad.salvarConfiguracion();
  11. }
  12.  
  13.  

Solo puse un poco de codigo de como lo estoy usando.

Y ese es mi problema que con InnoBD no esta gurdando nada pero sy cambio las tablas a MyISAM si se guardan los datos. pero el problema seria que si hay algun error los datos se salvarian incompletamente.

por eso lo de usar InnoDB.

Espero haberme explicado bien

16
Dudas y pedidos generales / Re:guardar datos de JTable a MYSQL
« en: Abril 22, 2019, 04:58:18 pm »
y creo que tu error es por que la variable sql es igual a

todo esto junto

sql=Update base_material set stock_material= '198.0' where id_material= '01010030004';
Update base_material set stock_material= '693.0' where id_material= '01010050015';
Update base_material set stock_material= '850.0' where id_material= '01010060001';

y a la hora de hacer el update con esta variable pos como vez, estas enviando como un todo y no un Update por Update.

a si que lo que tendrias que hacer ahora es dividir esa cadena con la funcion Split(";"). //puse ; por q vi que es lo que comparten los 3 updates y quiero que donde encuentre un ; los separe a si podremos tener todo la sentencia update completa .
Update base_material set stock_material= '850.0' where id_material= '01010060001',
Update base_material set stock_material= '693.0' where id_material= '01010050015',
Update base_material set stock_material= '850.0' where id_material= '01010060001'

algo asi sql.split(";") esto te regresaria un arreglo de 3 posiciones en donde en cada posicion estaria ahora si un update.

ejemplo

String updates[] = sql.split(";")

ahora lo podrias meter en un for

for(int indice=0;indice < updates.length;indice++)
{
ejecuta la setencia update que esta en la posicion updates[indice];
}

17
Dudas y pedidos generales / Re:guardar datos de JTable a MYSQL
« en: Abril 22, 2019, 04:49:58 pm »
yo utilizo Vectores. recorro la tabla y lo guardo en una Matriz de Vector (creo q un ArrayList tambien debe de funcionar).

luego esa matriz vector la envio a la funcion que se encargara de actualizar los datos. Luego recorre ese Vector y lo voy ejecutando la sentencia SQL  Update.

parecido a lo que haces en el for

Update base_material set stock_material= '"+stockactual+"' where id_material= '"+idmaterial+"';

18
ahora desactive todo y no sale la pantalla azul pero se queda en la pantalla de Start Windows

ni idea que sea.

creo q volveré intentar con la maquina virtual de oracle, pero sin poder usar todos los recursos de la maquina.

por eso era mi intención poner windows 7 en una partición para que aprovechara todos los recursos de la computadora

19
tiene la opcion de
 Compatibilidad de Arranque,
  • Activado
  • Desactivado

Deshabilitada (no la puedo elegir)si se elige Compatibilidad heredada - Activada
 arranque seguro
  • Activado
  • Desactivado

siempre abilitada
Orden de arranque UEFI
  • unidad usb de cd/dvd ROM
  • Disquete USB en clave/unidad de disco duro USB
  • Administrador de arranque del SO
  • ! Adaptador de RED

Deshabilitada (no la puedo elegir)si se elige Compatibilidad heredada - desactivada
Orden de arranque heredada
  • unidad USB de CD/DVD ROM
  • Disco duro del portatil
  • Disquete USB en clave/unidad de disco duro USB
  • ! Adaptador de red

esas son todas las configuraciones mas cercas a UEFI

20
hice una particion de 100gd de letra D con el asistente de disco o administrador de discos que viene en el windows 10.

bueno hice una iso de un windwos 7 original ya que mi compu no tiene lectora de CD y DVD.

el problema surge cundo comienza a cargar los archivos de windows pantalla negra y una barra de estado en color gris, luego aparece la palabra windows y sale la animacion de la ventana girando y alli se traba y salta despues una pantalla azul.

con el mensaje de que hubo un fallo y que se apagara para proteger el equipo y que si veo esta pantalla por primera vez, reinicie mi computadora y si la veo de nuevo siga los siguientes pasos:

The BIOS in this system is not fully ACPI compliant. Please contact your system vendor for an updated BIOS.

technical information:

Stop: 0x000000A5( 0x0000000000000011,0x0000000000000008,0xfffffA80096E16, 0x0000000020120913)

a lo que vii segun tngo q entrar al BIOS y mover una opcion de Administrador de Energia pero la BIOS no tiene ninguna opcion de Administrador de Energia.

tambien la actualice desde la pagina oficial de HP de la F.12 a F.17 version de la BIOS

es una HP Paviliion Laptop 15-cw0xxx

numero del producto 3PY37LA#ABM




Páginas: [1] 2