Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [J2ME] Record Store

  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    46

    [J2ME] Record Store

    Salve a tutti..avrei un problema con la lettura dei dati da un RS,anche se forse il problema è dovuto alla scrittura di questi dati..allora io scrivo i dati in questo modo su un RS
    codice:
    public void SaveAccount(String [] data)
    	{
    		OpenRS("Account",true);
    		try
    		{
    			byte[] record;
    			for (int i = 0; i < data.length; i++)
    			{
    				record = data[i].getBytes();
    				file.addRecord(record,0,record.length);
    			}
    			CloseRS();
    		}catch (Exception e)
    		{
    			System.err.println(e.toString());
    		}
    	}
    mentre per leggere uso questa funzione,dove leggo un record per volta
    codice:
    public String ReadRS(int RecordID)
    	{
    		byte[] data = new byte[100];
    		String record = "";
    		
    		OpenRS("Account",false);
    		System.out.println("ReadRS");
    		if (file != null)
    		{
    			try
    			{
    				file.getRecord(RecordID, data , 0);
    				record = new String(data);
    				System.out.println("r:"+record);
    				CloseRS();
    			}
    			catch (RecordStoreNotOpenException e)
    			{
    				e.printStackTrace();
    			}
    			catch (InvalidRecordIDException e)
    			{
    				e.printStackTrace();
    			}
    			catch (RecordStoreException e)
    			{
    				e.printStackTrace();
    			}
    		}
    		return record;
    	}
    il problema è che quando leggo i dati poi nelle stringhe ottengo un risultato come
    r:123
    che è il dato che contiene il vettore,seguito da tanti quadratini vuoti,che immagino rappresentino caratteri non stampabili...infatti se poi vado a confrontare le stringhe giustamente mi da errore...

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2006
    Messaggi
    46
    risolto..ecco la funzione "funzionante"...
    codice:
    public String ReadRS(int RecordID)
    	{
    		byte[] data = new byte[100];
    		String record = "";
    		int len;
    		
    		OpenRS("Account",false);
    		System.out.println("ReadRS");
    		if (file != null)
    		{
    			try
    			{
    				if (file.getRecordSize(RecordID) > data.length)
    				{
    					data = new byte[file.getRecordSize(RecordID)];
    				}
    				len = file.getRecord(RecordID, data , 0);
    				record = new String(data,0,len);
    				System.out.println("r:"+record);
    				CloseRS();
    			}
    			catch (RecordStoreNotOpenException e)
    			{
    				e.printStackTrace();
    			}
    			catch (InvalidRecordIDException e)
    			{
    				e.printStackTrace();
    			}
    			catch (RecordStoreException e)
    			{
    				e.printStackTrace();
    			}
    		}
    		return record;
    	}

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.