Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-swt-dev] getElement from database

i've can't try it before monday. Even if i create a new istance it has the
same name so couldn't it get the same result? i'm just supposing. thank for
anyway for interesting on.
gabriele

Bryan Hunt-2 wrote:
> 
> I think I've spotted the problem.  dbRow = new  
> Object[rsmd.getColumnCount()]; needs to be inside the while(rs.next())  
> loop.  You are overwriting your row data and adding the same row  
> multiple times to your items array.
> 
> Bryan
> 
> On Jun 13, 2008, at 10:14 AM, gaghi wrote:
> 
>>
>> hi bryan, LabelProvider implements ITableProvider.
>> That error was a typing error, the best i can get is to populate my  
>> table
>> just with the last element from the select(i didn't understan how to  
>> let the
>> table viewer read for example a vector of array, or an bidimensional  
>> array).
>> Also, the row is written in every columns of my table.
>> something like
>> a a a
>> b b b
>> c c c
>> instead of a b c
>>              a b c
>>              a b c
>> Thanks,
>> gabriele
>>
>> Bryan Hunt-2 wrote:
>>>
>>> Gabriele, this type of question is best asked in the newsgroups.  I
>>> don't see any obvious problems with the code below other than your
>>> content provider returning a length instead of Object[], but I'm
>>> guessing that's a typo as that won't even compile.  My guess is that
>>> the problem is with your label provider.  Does your label provider
>>> implement ITableLabelProvider?
>>>
>>> Bryan
>>>
>>> On Jun 13, 2008, at 6:43 AM, gaghi wrote:
>>>
>>>>
>>>> hi guys, i'm writing a plugin for udig(based on eclipse). I have to
>>>> show a
>>>> table which rows are the result of a DB selection. I'm able to get
>>>> the rows
>>>> from the database, but I think I'm doing something wrong in getting
>>>> them
>>>> back to the table.
>>>> Following a skeleton of my code.
>>>> CollectionItem defines the type of data.
>>>> getElement is a Content Provider method.
>>>> I don't really know how move on.
>>>> I have problems with LabelProvider which doesn't allow me to show
>>>> the column
>>>> name because of a casting problem from CollectionItem, but i have a
>>>> method
>>>> like this: String[] colName= coll_It.getColumnName(); this method
>>>> returns a
>>>> string array. Trying instead to print a string array {from 1 to 10}
>>>> the
>>>> label are printed all in the first column filling 10 rows.
>>>> i hope you could help.
>>>>
>>>> public class CollectionItem {
>>>> 	private ArrayList<Object[]> items= new ArrayList<Object[]>();
>>>> 	private String collection;
>>>> 	Object dbRow[]=null;
>>>> 	public CollectionItem(String collection){
>>>> 		this.collection=collection;
>>>> 		extractData();
>>>> 	}
>>>> 	
>>>> 	public ArrayList<Object[]> getItem(){
>>>> 		return items;
>>>> 	}
>>>> 	public void extractData(){
>>>> 		String query = "SELECT I.* FROM  Items as I  Inner Join
>>>> CollectionItems AS
>>>> CI  ON I.ItemID = CI.ItemID where CI.CollectionID like  
>>>> \""+collection
>>>> +"\"";
>>>> 		System.out.println(query);
>>>> 		try {
>>>> 			DbAction db= new DbAction("Collezione");
>>>> 		    Statement s = db.openConnection();
>>>> 			ResultSet rs = s.executeQuery(query);
>>>> 			ResultSetMetaData rsmd = rs.getMetaData();
>>>> 			dbRow= new Object[rsmd.getColumnCount()];
>>>> 			columnName= new Object[rsmd.getColumnCount()];
>>>> 			boolean done=false;
>>>> 			while( rs.next() )
>>>> 			{
>>>> 				for(int i =1; i <= rsmd.getColumnCount(); i++){
>>>> 					dbRow[i-1]=rs.getString(i);
>>>> 					
>>>> 				}
>>>> 				
>>>> 				items.add(dbRow);//fill vector with array containing rows
>>>> 				
>>>> 			}
>>>> 			
>>>> 			db.closeConnection();
>>>> 		}
>>>> 		 catch (SQLException e) {
>>>> 			// TODO Auto-generated catch block
>>>> 			e.printStackTrace();
>>>> 		}
>>>>
>>>> 	}
>>>>
>>>> Inside TableContentProvider:
>>>>
>>>> public Object[] getElements(Object inputElement) {
>>>> 		
>>>> 		CollectionItem ci = new CollectionItem(inputElement.toString());
>>>> 		return ci.getItem().toArray().length;
>>>> 		
>>>> 	}
>>>>
>>>> Thanks,
>>>> Gabriele
>>>> -- 
>>>> View this message in context:
>>>> http://www.nabble.com/getElement-from-database-tp17820811p17820811.html
>>>> Sent from the Eclipse Platform - swt mailing list archive at
>>>> Nabble.com.
>>>>
>>>> _______________________________________________
>>>> platform-swt-dev mailing list
>>>> platform-swt-dev@xxxxxxxxxxx
>>>> https://dev.eclipse.org/mailman/listinfo/platform-swt-dev
> 
>>>
>>> _______________________________________________
>>> platform-swt-dev mailing list
>>> platform-swt-dev@xxxxxxxxxxx
>>> https://dev.eclipse.org/mailman/listinfo/platform-swt-dev
>>>
>>>
>>
>> -- 
>> View this message in context:
>> http://www.nabble.com/getElement-from-database-tp17820811p17825711.html
>> Sent from the Eclipse Platform - swt mailing list archive at  
>> Nabble.com.
>>
>> _______________________________________________
>> platform-swt-dev mailing list
>> platform-swt-dev@xxxxxxxxxxx
>> https://dev.eclipse.org/mailman/listinfo/platform-swt-dev
> 
> _______________________________________________
> platform-swt-dev mailing list
> platform-swt-dev@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/platform-swt-dev
> 
> 

-- 
View this message in context: http://www.nabble.com/getElement-from-database-tp17820811p17829844.html
Sent from the Eclipse Platform - swt mailing list archive at Nabble.com.



Back to the top