Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    controllo record letti da db access

    ho creato una connessione ad un db access di cui voglio una volta creato il resultset verificare lo stato del campo ESITO e fargli verificare se il contenuto è vuoto per passare a leggere il record successivo.
    ho notato che ha volte il programma legge anche dei record dove il campo esito è stato valorizzato ad "OK".
    Mi sapreste spiegare il motivo e come gestire la cosa ?
    grazie


    import java.sql.ResultSet;
    import java.sql.SQLException;

    import resources.Script1Helper;
    import com.rational.test.ft.*;
    import com.rational.test.ft.object.interfaces.*;
    import com.rational.test.ft.object.interfaces.SAP.*;
    import com.rational.test.ft.object.interfaces.WPF.*;
    import com.rational.test.ft.object.interfaces.dojo.*;
    import com.rational.test.ft.object.interfaces.siebel.*;
    import com.rational.test.ft.object.interfaces.flex.*;
    import com.rational.test.ft.object.interfaces.generichtml subdomain.*;
    import com.rational.test.ft.script.*;
    import com.rational.test.ft.value.*;
    import com.rational.test.ft.vp.*;
    import com.ibm.rational.test.ft.object.interfaces.sapwebp ortal.*;
    import java.util.*;
    import java.text.DateFormat;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.GregorianCalendar;
    /**
    * Description : Functional Test Script
    * @author Administrator
    */

    //-------------------------------------------------------------------------------------
    public class Script1 extends Script1Helper
    {//apre prima graffa
    /**
    * Script Name : Script1
    * Generated : Nov 2, 2010 11:41:22 AM
    * Description : Functional Test Script
    * Original Host : WinNT Version 5.1 Build 2600 (S)
    *
    * @since 2010/11/02
    * @author Administrator

    */
    //-------------------------------------------------------------------------------------
    //-------------------------------------------------------------------------------------
    public void testMain(Object[] args )
    {//apre seconda graffa

    String codicefiscale ="";
    String marcaggio ="";
    String linea ="";
    String stato ="";
    String ragsoc ="";
    String strSQL = "";
    String contratto = "";
    String iccid = "";
    String servizio = "";
    String datacess = "";
    String esito = "";
    String data_lavorazione = "";

    MyConnessione db = new MyConnessione();

    //Calendar now = GregorianCalendar.getInstance();
    //now.setLenient(true);

    //DateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
    //data_lavorazione=(sdf.format(now.getTime()));

    //-------------------------------------------------------------------------------------
    //-------------------------------------------------------------------------------------
    //-------------------------------------------------------------------------------------
    try
    {//apre prima graffa try
    db.connetti("CRMA_RENNI");
    ResultSet rs = db.recordSet("SELECT * FROM STATO_ASSET");

    while (rs.next())


    {

    //inizio primo if
    //---------------------------------------------------------------------------------

    {
    if (rs.getString("ESITO") != null)
    rs.next();



    //fine primo if
    //---------------------------------------------------------------------------------


    //prima query
    //---------------------------------------------------------------------------------
    //else

    pageTabList_siebPageTabs().gotoScreen("CRMA_OM_Ass et_Screen");
    pageTabList_siebScreenViews().goTo("Asset Mgmt - Assets Across Org View","L2");
    toolBar_hiQuery().performAction("NewQuery");

    comboBox_type().setText("ABBONAMENTO or APPARATO");
    comboBox_status().setText("ATTIVO or CONGELATO or SOSPESO or is null");

    linea = rs.getString("ASSET");

    text_serialNumber().setText(linea);
    toolBar_hiQuery().performAction("ExecuteQuery");

    //---------------------------------------------------------------------------------

    int quantita_righe = ((Integer)list_siebList().getProperty("RowsCount") ).intValue();

    //inizio secondo if
    //---------------------------------------------------------------------------------
    if (quantita_righe > 0)
    //list_siebList().performTest(SiebList_standardVP()) ;
    {

    iccid= list_siebList().getCellText("OM_ICCID",0);
    codicefiscale = list_siebList().getCellText("Account Location",0);
    marcaggio = list_siebList().getCellText("OM_MarcaggioCliente", 0);
    linea = list_siebList().getCellText("Serial Number",0);
    stato= list_siebList().getCellText("Status", 0);
    ragsoc = list_siebList().getCellText("OM_DenominazioneClien te", 0);
    contratto = list_siebList().getCellText("OM_Agreement Number", 0);
    servizio = list_siebList().getCellText("Product Name", 0);

    Calendar now = GregorianCalendar.getInstance();
    now.setLenient(true);
    DateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
    data_lavorazione=(sdf.format(now.getTime()));

    strSQL = "UPDATE STATO_ASSET SET CODICE_FISCALE = '"+codicefiscale+"', MARCAGGIO = '"+marcaggio+"', RAGSOC = '"+ragsoc+"', STATO = '"+stato+"', CONTRATTO = '"+contratto+"', ICCID = '"+iccid+"', SERVIZIO = '"+servizio+"', DATA_LAVORAZIONE = '"+data_lavorazione+"', ESITO = 'OK' WHERE ASSET = '"+linea+"'";
    db.aggiorna(strSQL);

    }

    //fine secondo if
    //---------------------------------------------------------------------------------

    //se dalla primaquery non risultano record, faccio un altra query per vedere se l'asset
    //è cessato

    //inizio primo else
    //---------------------------------------------------------------------------------
    else

    //seconda query
    //---------------------------------------------------------------------------------

    { pageTabList_siebPageTabs().gotoScreen("CRMA_OM_Ass et_Screen");
    pageTabList_siebScreenViews().goTo("Asset Mgmt - Assets Across Org View","L2");
    toolBar_hiQuery().performAction("NewQuery");

    comboBox_type().setText("ABBONAMENTO or APPARATO");
    comboBox_status().setText("CESSATO");

    text_oM_TipoLavorazione().setText("DISCONNESSIONE ASSET");

    //linea = rs.getString("ASSET");
    text_serialNumber().setText(linea);
    toolBar_hiQuery().performAction("ExecuteQuery");

    //---------------------------------------------------------------------------------
    int quantita_righe2 = ((Integer)list_siebList().getProperty("RowsCount") ).intValue();
    //inizio terzo if
    //---------------------------------------------------------------------------------
    if (quantita_righe2 > 0)
    {
    iccid= list_siebList().getCellText("OM_ICCID",0);
    codicefiscale = list_siebList().getCellText("Account Location",0);
    marcaggio = list_siebList().getCellText("OM_MarcaggioCliente", 0);
    linea = list_siebList().getCellText("Serial Number",0);
    stato= list_siebList().getCellText("Status", 0);
    ragsoc = list_siebList().getCellText("OM_DenominazioneClien te", 0);
    contratto = list_siebList().getCellText("OM_Agreement Number", 0);
    servizio = list_siebList().getCellText("Product Name", 0);
    datacess = list_siebList().getCellText("Effective End Date", 0);

    Calendar now = GregorianCalendar.getInstance();
    now.setLenient(true);
    DateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
    data_lavorazione=(sdf.format(now.getTime()));

    strSQL = "UPDATE STATO_ASSET SET CODICE_FISCALE = '"+codicefiscale+"', MARCAGGIO = '"+marcaggio+"', RAGSOC = '"+ragsoc+"', STATO = '"+stato+"', CONTRATTO = '"+contratto+"', ICCID = '"+iccid+"', SERVIZIO = '"+servizio+"', DATA_CESS = '"+datacess+"', DATA_LAVORAZIONE = '"+data_lavorazione+"', ESITO = 'OK' WHERE ASSET = '"+linea+"'";
    db.aggiorna(strSQL);
    }
    //fine terzo if
    //---------------------------------------------------------------------------------
    //se dalla seconda query non risultano record, scrivo nel db 'ASSET NON ATTIVO'

    //inizio secondo else
    //---------------------------------------------------------------------------------
    else

    db.aggiorna("UPDATE STATO_ASSET SET CAUSALE = 'ASSET NON ATTIVO', ESITO = 'KO' WHERE ASSET = '"+linea+"'");
    //else db.aggiorna("UPDATE STATO_ASSET SET CAUSALE = 'ASSET NON ATTIVO', ESITO = 'n' WHERE ASSET = '"+linea+"'");

    }//chiusura secondo else
    }
    }
    }


    //---------------------------------------------------------------------------------
    catch (ClassNotFoundException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();

    }
    //---------------------------------------------------------------------------------
    catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    //---------------------------------------------------------------------------------
    try {
    db.chiudiConnessione();
    }

    catch (SQLException e) {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }
    //---------------------------------------------------------------------------------

    }//chiude terza graffa

    }//chiude prima graffa public class Script1
    //-------------------------------------------------------------------------------------

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Posta il codice utilizzando i tag CODE e indentandolo prima di tutto...

  3. #3
    scusa ma è da poco che sto studiando java, mi spieghi come fare ?

  4. #4
    così va meglio ?

    codice:
    	
    	import java.sql.ResultSet;
    	import java.sql.SQLException;
    	
    	import resources.Script1Helper;
    	import com.rational.test.ft.*;
    	import com.rational.test.ft.object.interfaces.*;
    	import com.rational.test.ft.object.interfaces.SAP.*;
    	import com.rational.test.ft.object.interfaces.WPF.*;
    	import com.rational.test.ft.object.interfaces.dojo.*;
    	import com.rational.test.ft.object.interfaces.siebel.*;
    	import com.rational.test.ft.object.interfaces.flex.*;
    	import com.rational.test.ft.object.interfaces.generichtmlsubdomain.*;
    	import com.rational.test.ft.script.*;
    	import com.rational.test.ft.value.*;
    	import com.rational.test.ft.vp.*;
    	import com.ibm.rational.test.ft.object.interfaces.sapwebportal.*;
    	import java.util.*;
    	import java.text.DateFormat;
    	import java.text.SimpleDateFormat;
    	import java.util.Calendar;
    	import java.util.GregorianCalendar;
    	/**
    	 * Description   : Functional Test Script
    	 * @author Administrator
    	 */
    	
    	//-------------------------------------------------------------------------------------
    	public class Script1 extends Script1Helper
    	{//apre prima graffa
    		/**
    		 * Script Name   : Script1
    		 * Generated     : Nov 2, 2010 11:41:22 AM
    		 * Description   : Functional Test Script
    		 * Original Host : WinNT Version 5.1  Build 2600 (S)
    		 * 
    		 * @since  2010/11/02
    		 * @author Administrator
    		 
    		 */
    	//-------------------------------------------------------------------------------------
    	//-------------------------------------------------------------------------------------
    		public void testMain(Object[] args ) 
    		{//apre seconda graffa
    			
    			String codicefiscale ="";
    			String marcaggio ="";
    			String linea ="";
    			String stato ="";
    			String ragsoc ="";
    			String strSQL = "";
    			String contratto = "";
    			String iccid = "";
    			String servizio = "";
    			String datacess = "";
    			String esito = "";
    			String data_lavorazione = "";
    		
    			MyConnessione db = new MyConnessione();
    					
    			//Calendar now = GregorianCalendar.getInstance();
    			//now.setLenient(true);
    			
    			//DateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
    			//data_lavorazione=(sdf.format(now.getTime()));		
    						
    	//-------------------------------------------------------------------------------------
    	//-------------------------------------------------------------------------------------
    	//-------------------------------------------------------------------------------------
    			try 
    			{//apre prima graffa try
    				db.connetti("CRMA_RENNI");
    				ResultSet rs = db.recordSet("SELECT * FROM STATO_ASSET");
    							
    				while (rs.next())
    				
    					
    				{
    						
    	//inizio primo if		
    	//---------------------------------------------------------------------------------				
    					
    					{
    					if (rs.getString("ESITO") != null)						
    						rs.next();
    					
    					
    					
    	//fine primo if		
    	//---------------------------------------------------------------------------------
    					
    					
    	//prima query		
    	//---------------------------------------------------------------------------------
    					//else
    						
    					pageTabList_siebPageTabs().gotoScreen("CRMA_OM_Asset_Screen");
    					pageTabList_siebScreenViews().goTo("Asset Mgmt - Assets Across Org View","L2");
    					toolBar_hiQuery().performAction("NewQuery");
    							 
    					comboBox_type().setText("ABBONAMENTO or APPARATO");
    					comboBox_status().setText("ATTIVO or CONGELATO or SOSPESO or is null");
    											
    					linea = rs.getString("ASSET");
    					
    					text_serialNumber().setText(linea);
    					toolBar_hiQuery().performAction("ExecuteQuery");
    					
    	//---------------------------------------------------------------------------------
    					
    					int quantita_righe = ((Integer)list_siebList().getProperty("RowsCount")).intValue();
    					
    	//inizio secondo if		
    	//---------------------------------------------------------------------------------
    					if (quantita_righe > 0) 
    						//list_siebList().performTest(SiebList_standardVP());
    					{
    			
    						iccid= list_siebList().getCellText("OM_ICCID",0);
    						codicefiscale = list_siebList().getCellText("Account Location",0);
    						marcaggio = list_siebList().getCellText("OM_MarcaggioCliente",0);
    						linea = list_siebList().getCellText("Serial Number",0);
    						stato= list_siebList().getCellText("Status", 0);
    						ragsoc = list_siebList().getCellText("OM_DenominazioneCliente", 0);
    						contratto = list_siebList().getCellText("OM_Agreement Number", 0);
    						servizio = list_siebList().getCellText("Product Name", 0);
    									
    						Calendar now = GregorianCalendar.getInstance();
    						now.setLenient(true);
    						DateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
    						data_lavorazione=(sdf.format(now.getTime()));		
    						
    						strSQL = "UPDATE STATO_ASSET SET CODICE_FISCALE = '"+codicefiscale+"', MARCAGGIO = '"+marcaggio+"', RAGSOC = '"+ragsoc+"', STATO = '"+stato+"', CONTRATTO = '"+contratto+"', ICCID = '"+iccid+"', SERVIZIO = '"+servizio+"', DATA_LAVORAZIONE = '"+data_lavorazione+"', ESITO = 'OK' WHERE ASSET = '"+linea+"'";
    						db.aggiorna(strSQL);
    						
    					}
    					
    	//fine secondo if		
    	//---------------------------------------------------------------------------------
    					
    					//se dalla primaquery non risultano record, faccio un altra query per vedere se l'asset 
    					//è cessato
    					
    	//inizio primo else		
    	//---------------------------------------------------------------------------------							
    					else  
    						
    						//seconda query		
    						//---------------------------------------------------------------------------------
    							
    						{		pageTabList_siebPageTabs().gotoScreen("CRMA_OM_Asset_Screen");
    								pageTabList_siebScreenViews().goTo("Asset Mgmt - Assets Across Org View","L2");
    								toolBar_hiQuery().performAction("NewQuery");
    										 
    								comboBox_type().setText("ABBONAMENTO or APPARATO");
    								comboBox_status().setText("CESSATO");
    			
    								text_oM_TipoLavorazione().setText("DISCONNESSIONE ASSET");
    		
    								//linea = rs.getString("ASSET");
    								text_serialNumber().setText(linea);
    								toolBar_hiQuery().performAction("ExecuteQuery");
    								
    							//---------------------------------------------------------------------------------
    							int quantita_righe2 = ((Integer)list_siebList().getProperty("RowsCount")).intValue();
    	//inizio terzo if		
    	//---------------------------------------------------------------------------------
    							if (quantita_righe2 > 0) 
    							{
    								iccid= list_siebList().getCellText("OM_ICCID",0);
    								codicefiscale = list_siebList().getCellText("Account Location",0);
    								marcaggio = list_siebList().getCellText("OM_MarcaggioCliente",0);
    								linea = list_siebList().getCellText("Serial Number",0);
    								stato= list_siebList().getCellText("Status", 0);
    								ragsoc = list_siebList().getCellText("OM_DenominazioneCliente", 0);
    								contratto = list_siebList().getCellText("OM_Agreement Number", 0);
    								servizio = list_siebList().getCellText("Product Name", 0);
    								datacess = list_siebList().getCellText("Effective End Date", 0);
    								
    								Calendar now = GregorianCalendar.getInstance();
    								now.setLenient(true);
    								DateFormat sdf = new SimpleDateFormat("dd/MM/yyyy hh:mm:ss");
    								data_lavorazione=(sdf.format(now.getTime()));		
    																
    								strSQL = "UPDATE STATO_ASSET SET CODICE_FISCALE = '"+codicefiscale+"', MARCAGGIO = '"+marcaggio+"', RAGSOC = '"+ragsoc+"', STATO = '"+stato+"', CONTRATTO = '"+contratto+"', ICCID = '"+iccid+"', SERVIZIO = '"+servizio+"', DATA_CESS = '"+datacess+"', DATA_LAVORAZIONE = '"+data_lavorazione+"', ESITO = 'OK' WHERE ASSET = '"+linea+"'";
    								db.aggiorna(strSQL);
    							}
    	//fine terzo if		
    	//---------------------------------------------------------------------------------						
    							//se dalla seconda query non risultano record, scrivo nel db 'ASSET NON ATTIVO'
    							
    	//inizio secondo else		
    	//---------------------------------------------------------------------------------										
    							else 
    								
    								db.aggiorna("UPDATE STATO_ASSET SET CAUSALE = 'ASSET NON ATTIVO', ESITO = 'KO' WHERE ASSET = '"+linea+"'");
    								//else db.aggiorna("UPDATE STATO_ASSET SET CAUSALE = 'ASSET NON ATTIVO', ESITO = 'n' WHERE ASSET = '"+linea+"'");
    					
    					        }//chiusura secondo else
    					}
    					}
    				}
    			
    			 
    	//---------------------------------------------------------------------------------	
    			catch (ClassNotFoundException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    		
    			}
    	//---------------------------------------------------------------------------------		
    			catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    	//---------------------------------------------------------------------------------		
    			try {
    				db.chiudiConnessione();
    			} 
    			
    			catch (SQLException e) {
    				// TODO Auto-generated catch block
    				e.printStackTrace();
    			}
    	//---------------------------------------------------------------------------------	
    			
    		}//chiude terza graffa
    		
    	}//chiude prima graffa public class Script1
    	//-------------------------------------------------------------------------------------

  5. #5
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Si, anche se è troppo spaziato... comunque va bene.

    Il problema su quale controllo sarebbe? Se ho capito bene è l'if dove controlli se contiene ESITO.
    Devi verificare l'interno del campo in questo caso, ed una volta prelevata la stringa confrontare con equals()

  6. #6
    ho creato una variabile stringa

    String testesito1 = "";

    ed ho aggiunto il seguente codice

    codice:
    testesito=(rs.getString("ESITO"));
    					//'if (rs.getString("ESITO") != null)
    					 boolean a = (testesito.equals(testesito1));						
    					 if (a==true)
    					 rs.next();
    è corretto così ?

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2009
    Messaggi
    1,123
    Se confronti testesito1 assegnando una stringa vuota, e testesito con l'output della cella, sicuramente otterrai false (sempre se la cella non ti dia "").

    Se ottieni risultati sbagliati o nessun output, metti dei System.out.println() e verifica che valore contengono le variabili interessate.


    codice:
    boolean a = (testesito.equals(testesito1));						
    if (a==true)  rs.next();
    Questo può essere semplificato (se la variabile booleana la utilizzi solo per il test)
    codice:
    if(testsito.equals(testsito1)) rs.next();

  8. #8
    ho provato ad utilizzare il codice

    if(testsito.equals(testsito1)) rs.next();

    ma eclipse mi segnala un errore di Exception, mi sai dire dov'è il problema ?


    29-Sep-2011 11:21:59.078 AM Script start [Script1]
    line_number = 1
    script_iter_count = 0
    script_name = Script1
    script_id = Script1.java

    FAIL 29-Sep-2011 11:21:59.437 AM CRFCN0601E: Script1.testMain had an unhandled exception.
    exception_name = java.lang.NullPointerException
    exception_message = null
    script_name = Script1
    script_id = Script1.java
    line_number = 90
    exception_stack = at Script1.testMain(Script1.java:90)
    at org.eclipse.equinox.internal.app.EclipseAppContain er.callMethodWithException(EclipseAppContainer.jav a:574)
    at org.eclipse.equinox.internal.app.EclipseAppHandle. run(EclipseAppHandle.java:195)
    at org.eclipse.core.runtime.internal.adaptor.EclipseA ppLauncher.runApplication(EclipseAppLauncher.java: 110)
    at org.eclipse.core.runtime.internal.adaptor.EclipseA ppLauncher.start(EclipseAppLauncher.java:79)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.ru n(EclipseStarter.java:386)
    at org.eclipse.core.runtime.adaptor.EclipseStarter.ru n(EclipseStarter.java:179)
    at org.eclipse.equinox.launcher.Main.invokeFramework( Main.java:549)
    at org.eclipse.equinox.launcher.Main.basicRun(Main.ja va:504)
    at org.eclipse.equinox.launcher.Main.run(Main.java:12 36)
    at org.eclipse.equinox.launcher.Main.main(Main.java:1 212)
    at org.eclipse.core.launcher.Main.main(Main.java:30)


    FAIL 29-Sep-2011 11:21:59.437 AM Script end [Script1]
    script_name = Script1
    script_id = Script1.java

  9. #9
    scusa ma posso dire che tutto sto codice è orrendo?

    sento puzza di vecchia scuola procedurale

    pardon
    SCJP 96%

    Sono io signore che non ti perdono,io non merito punizioni, io sono potentissimo e ora che ho visto il tuo volto merito di stare in un cielo alto più alto del tuo perché non capendo chi è l’uomo hai dimostrato di essermi inferiore,tu servirai me. Da oggi mi chiamerò Satan che significa l’Avversario.

  10. #10
    io sono alle prime armi con java e per questo chiedo consigli a chi ne sa più di me ...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.