Menú

Mostrar Mensajes

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

Mostrar Mensajes Menú

Mensajes - rommel360

#1
excelente por la idea de bajar una ROM vieja y haber si puedo luego actaulizar el android desde el celular o volver instalarle la que tenia manualmente
#2
tengo un telefono al cual ya lo formatee de fabrica pero cuando vuelvo a iniciar para configurarlo me pide la cuenta de google o un pin. como se quita eso. O como lo busco en internet; si es que se puede hacer.

gracias
#3
bueno pues ya lo resolvi. el problema fue que tenia mal mi regla ya que mi regla era global

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


y buscaba todo lo que tuviera /page pero yo solo queria lo que fuera asi No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

y no No tienes permitido ver los links. Registrarse o Entrar a mi cuenta 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 No tienes permitido ver los links. Registrarse o Entrar a mi cuenta 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

import scrapy

from scrapy.spiders import CrawlSpider, Rule
from scrapy.linkextractors import LinkExtractor

class WitsiSpider(CrawlSpider):
    name = 'witsi'
    allowed_domains = ['quotes.toscrape.com']
    start_urls = ['http://quotes.toscrape.com/page/1/']
    base_url = 'http://quotes.toscrape.com/page/1/'
     
    rules = (
        Rule(LinkExtractor(allow=r'.com/page/'),callback = 'parse', follow=True ),
    )
       
    def parse(self, response):
        citas = response.xpath('//*[@class="quote"]')
        for cita in citas:
            texto = cita.xpath('.//span[@class="text"]/text()').extract_first()
            autor = cita.xpath('.//*[@class="author"]/text()').extract_first()
            palabras_claves = cita.xpath('.//*[@itemprop="keywords"]/@content').extract_first()
       
            yield{ 'Texto' : texto,
                   'Autor' : autor,
           'Palabras Claves' : palabras_claves }


gracias a todos por su ayuda
#4
Código: python

import scrapy

class WitsiSpider(scrapy.Spider):
    name = 'witsi'
    allowed_domains = ['www.quotes.toscrape.com']
    start_urls = ['http://quotes.toscrape.com']

    def parse(self, response):
        citas = response.xpath('//*[@class="quote"]')
        for cita in citas:
        texto = cita.xpath('.//*[@class="text"]/text()').extract_first()
        autor = cita.xpath('.//*[@class="author"]/text()').extract_first()
        palabras_claves = cita.xpath('.//*[@itemprop="keywords"]/@content').extract_first()
       
        yield{ 'Texto' : texto,
           'Autor' : autor,
           'Palabras Claves' : palabras_claves }
       
        url_a_continuar = response.xpath('//ul[@class="pager"]/li[@class="next"]/a/@href').extract()
        url_siguiente = response.urljoin(url_a_continuar)
        yield scrapy.Request(url_siguiente, callback = self.parse)


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

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

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

import scrapy

from scrapy.spiders import CrawlSpider, Rule
from scrapy.linkextractors import LinkExtractor

class WitsiSpider(CrawlSpider):
    name = 'witsi'
    allowed_domains = ['quotes.toscrape.com']
    start_urls = ['http://quotes.toscrape.com']

    rules = (
        Rule(LinkExtractor(allow=r'page/'),callback = 'parse', follow=True ),
    )
       
    def parse(self, response):
        citas = response.xpath('//*[@class="quote"]')
        for cita in citas:
            texto = cita.xpath('.//*[@class="text"]/text()').extract_first()
            autor = cita.xpath('.//*[@class="author"]/text()').extract_first()
            palabras_claves = cita.xpath('.//*[@itemprop="keywords"]/@content').extract_first()
       
            yield{ 'Texto' : texto,
                   'Autor' : autor,
           'Palabras Claves' : palabras_claves }
       
       
            yield


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

{"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"},
{"Texto": "\u201cA day without sunshine is like, you know, night.\u201d", "Autor": "Steve Martin", "Palabras Claves": "humor,obvious,simile"},
{"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"},
{"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"},
{"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"},
{"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"},
{"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"},
{"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"},
{"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"},
{"Texto": "\u201cYou have to write the book that wants to be written. And i



#5
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.?
#6
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?
#7
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
#8



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
#9
thanks por la respuesta
#10
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

catch (SQLException ex)
{
}
catch( NullPointerException e)
{
}
catch (IOException e) {
}


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.
#11
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
#12
al final ya no entendí  ;D ;D ;D ;D
#13
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

while( valores.next() )
{
       arreglo.addElement(valores.getString( "IDReferencia" ))
       areglo.addElement(valores.getString( "IDPaciente" ));
      areglo.addElement( valores.getString( "IDUMedicaEnvia" ));

}




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

Código: java

int x = 1;//no recuedo si las columnas de una tabla empiezan por 0 o desde el 1 jajajaja
while(rs.next())
{
datos[x-1]=rs.getString(x);
//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[x]

x++;
}

#14
Veo que el error eta en esta parte

Código: java

String[]datos=new String[columnas];

for(int x=0;x<datos.length;x++){
                        datos

    =rs.getString(x+1);


                    }


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( No tienes permitido ver los links. Registrarse o Entrar a mi cuenta()) 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( No tienes permitido ver los links. Registrarse o Entrar a mi cuenta() )
{

}
#15
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

public Consultas( String servidor, String puerto, String nombre_base_datos, String usuario, String clave )
{
conexion = new Conexion( servidor , puerto , nombre_base_datos , usuario , clave );

try
{
conexion.crearConexionSQL();
} catch (ClassNotFoundException e)
{
JOptionPane.showMessageDialog( null, "EN Consultas Consultas ClassNotFoundException \n\n " + e.getMessage(), "ERROR DE SISTEMA 19", JOptionPane.ERROR_MESSAGE );
System.exit( 0 );
}
}


y para MySQL

Código: java

public ConsultasMySQL( String servidor, String puerto, String nombre_base_datos, String usuario, String clave )
{
conexion = new ConexionMySQL( servidor , puerto , nombre_base_datos , usuario , clave );

try
{
conexion.crearConexionMySQL();
} catch (ClassNotFoundException e)
{
JOptionPane.showMessageDialog( null, "EN ConsultasMySQL ConsultasMySQL ClassNotFoundException \n\n " + e.getMessage(), "ERROR DE SISTEMA 19", JOptionPane.ERROR_MESSAGE );
System.exit( 0 );
}
}


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.
#16
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


propiedad.getPropiedad().setProperty( "ultimoRegistro", String.valueOf( consulta.obtenerTotalRegistros( 1 ) ) );
consulta.exportarMySQL( consulta.ObtenerReferencia() , 1 );
mySystemTray.MensajeTrayIcon( "COMENZANDO CON LA B\u00DASQUEDA DE PACIENTES" , MessageType.INFO );
//El segundo parametro puede ser cualquier cadena, ya que va entrar en la opcion 1 y no necesita el segundo parametro
//al menos que se entre a la opcion 2 alli si ocuparia el segundo parametro valido.
consulta.insertarPaciente( consulta.obtenerPaciente( 1 , "" ) );
mySystemTray.MensajeTrayIcon( "COMENZANDO CON LA B\u00DASQUEDA DE SOMATOMETRIA" , MessageType.INFO );
consulta.insertarSomatometria( consulta.obtenerSomatometria() );
mySystemTray.MensajeTrayIcon( "COMENZANDO CON LA B\u00DASQUEDA DE CONTRAREFERENCIA" , MessageType.INFO );
consulta.exportarMySQL( consulta.ObtenerContrareferencia(), 2 );
propiedad.getPropiedad().setProperty( "ultimaContrareferencia", String.valueOf( consulta.obtenerTotalRegistros( 2 ) ) );
mySystemTray.MensajeTrayIcon( "COMENZANDO CON LA B\u00DASQUEDA DETALLES DIAGN\u00D3STICOS DE EGRESO" , MessageType.INFO );
consulta.exportarMySQL( consulta.ObtenerDetContraReferenciaDiag(), 3 );
propiedad.getPropiedad().setProperty( "ultimoDetalleDiagnostico", String.valueOf( consulta.obtenerTotalRegistros( 3 ) ) );
propiedad.getPropiedad().setProperty( "checksum" , String.valueOf( consulta.seActualizoSomatometria() ) );
mySystemTray.MensajeTrayIcon( "FINALIZADO CORRECTAMENTE" , MessageType.INFO );

consulta.com();//Hace el  commit
//consulta.getConexion().cerrarConexion();

//System.out.println(consulta.getConexion().getConsultaExitosa());
if(consulta.getConexion().getConsultaExitosa() )
{
System.out.println("siii");
propiedad.salvarConfiguracion();
}


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.
#17
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


public void crearConexionSQL() throws ClassNotFoundException
{
try
{
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
conexion = DriverManager.getConnection("jdbc:sqlserver://" + servidor + ":" + puerto + ";databaseName=" +  nombre_base_datos + ";user=" + usuario + ";password=" + clave + "");

conexion.setAutoCommit(false);//Se desactiva el auto commit
}
catch (SQLException ex)
{
JOptionPane.showMessageDialog( null, "EN CONEXION crearConexionSQL SQLException \n\n" + ex.getMessage(), "ERROR DE SISTEMA 40", JOptionPane.ERROR_MESSAGE );
}
}

public void crearConexionMySQL() throws ClassNotFoundException
{
try
{
Class.forName("com.mysql.jdbc.Driver");
conexion = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/referencia_contrareferencia", "root" , "" );

conexion.setAutoCommit(false);//Se desactiva el auto commit
}
catch (SQLException ex)
{
JOptionPane.showMessageDialog( null, "EN CONEXION crearConexionMySQL SQLException \n\n" + ex.getMessage(), "ERROR DE SISTEMA 56", JOptionPane.ERROR_MESSAGE );
}
catch (ClassNotFoundException e)
{
JOptionPane.showMessageDialog( null, "EN CONEXION crearConexionMySQL ClassNotFoundException \n\n" + e.getMessage(), "ERROR DE SISTEMA 60", JOptionPane.ERROR_MESSAGE );
}
}

public void aceptarSentencias()
{
try
{
conexion.commit();
consultaExitosa( true );
}
catch (SQLException e)
{
desHacerSentencia();
JOptionPane.showMessageDialog(null, "EN CONEXION aceptarSetencias SQLException \n\n" + e.getMessage(), "ERRORDE SISTEMA 128", JOptionPane.ERROR_MESSAGE );
}
}

public void desHacerSentencia()
{
try
{
conexion.rollback();
consultaExitosa( false );
System.out.println("dadadasd");
}
catch (SQLException e)
{
JOptionPane.showMessageDialog(null, "EN CONEXION desHacerSentencia SQLException \n\n" + e.getMessage(), "ERRORDE SISTEMA 140", JOptionPane.ERROR_MESSAGE );
}
}



clase consulta

Código: java

public Vector<Object[]> obtenerSomatometria() throws SQLException
{
Vector<Object[]> datos= new Vector<Object[]>();

datos.clear();

ResultSet valores;

try
{
conexion.crearConexionSQL();
//conexion.getConexion().setAutoCommit(false);

conexion.setSetenciaPreparada(
conexion.getConexion().prepareStatement(
"SELECT IDPaciente, IDDiccionario, cCve_Respuesta, cValor " +
"FROM somatometria" ) );

valores = conexion.ejecutarConsultaObtener();

while( valores.next() )
{
datos.addElement(
new Object[]
{
valores.getString( 1 ),valores.getString( 2 ),valores.getString( 3 ),
valores.getString( 4 )
}
);
}

//conexion.getSetenciaPreparada().close();
//conexion.cerrarConexion();
}
catch (SQLException ex)
{
JOptionPane.showMessageDialog( null, "ERROR DE EJECUCI\u00D3N DEL QUERY CONSULTAS obtenerPaciente SQLException \n\n" + ex.getMessage(), "ERROR DE SISTEMA 454", JOptionPane.ERROR_MESSAGE );
System.exit( 0 );
}
catch (ClassNotFoundException e)
{
JOptionPane.showMessageDialog( null, "EN CONSULTAS obtenerPaciente ClassNotFoundException \n\n" + e.getMessage() , "ERROR DE SISTEMA 459", JOptionPane.ERROR_MESSAGE );
System.exit( 0 );
}
catch( NullPointerException e)
{
JOptionPane.showMessageDialog( null, "EN CONSULTAS obtenerPaciente NullPointerException \n\n" + e.toString() , "ERROR DE SISTEMA 464", JOptionPane.ERROR_MESSAGE );
System.exit( 0 );
}

return datos;
}


public void exportarMySQL( Vector<Object[]> datos, int opcion ) throws SQLException
{
try
{
int indice = 1;

conexion.crearConexionMySQL();

for (Object[] objects : datos)
{
if( opcion == 1 )
{
conexion.setSetenciaPreparada(
conexion.getConexion().prepareStatement(
"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( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )"
)
);
}
else if( opcion == 2 )
{
conexion.setSetenciaPreparada(
conexion.getConexion().prepareStatement(
"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( ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ? )"
)
);
}
else
{
conexion.setSetenciaPreparada(
conexion.getConexion().prepareStatement(
"INSERT INTO Det_ContraReferencia_Diag ( IDUMedica,IDContraReferencia,IDDiagnostico,cDescripcion,cmotivocontrareferencia,IDReferencia ) VALUES( ?, ?, ?, ?, ?, ? )"
)
);
}

for( Object valores : objects )
{
conexion.getSetenciaPreparada().setObject( indice, valores );

++indice;
}
conexion.ejecutarConsultaModificar();

indice = 1;
}

//conexion.getSetenciaPreparada().close();
//conexion.cerrarConexion();
}
catch (SQLException ex)
{
JOptionPane.showMessageDialog( null, "ERROR DE EJECUCI\u00D3N DEL QUERY CONSULTAS exportarMySQL SQLException \n\n" + ex.getMessage(), "ERROR DE SISTEMA 131", JOptionPane.ERROR_MESSAGE );
System.exit( 0 );
}
catch (ClassNotFoundException e)
{
JOptionPane.showMessageDialog( null, " EN CONSULTAS exportarMySQL ClassNotFoundException \n\n" + e.getMessage(), "ERROR DE SISTEMA 136", JOptionPane.ERROR_MESSAGE );
System.exit( 0 );
}
catch( NullPointerException e)
{
JOptionPane.showMessageDialog( null, " EN CONSULTAS exportarMySQL NullPointerException \n\n" + e.toString(), "ERROR DE SISTEMA 141", JOptionPane.ERROR_MESSAGE );
System.exit( 0 );
}
}



Código: java

mySystemTray.MensajeTrayIcon( "COMENZANDO CON LA B\u00DASQUEDA DE CONTRAREFERENCIA" , MessageType.INFO );
consulta.exportarMySQL( consulta.ObtenerContrareferencia(), 2 );

consulta.getConexion().aceptarSentencias();


f(consulta.getConexion().getConsultaExitosa() )
{
System.out.println("siii"); //Si entra aqui por lo tanto no hubo ningun error pero aun a si no se guarda nada
  propiedad.salvarConfiguracion();
}



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
#18
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];
}
#19
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+"';
#20
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