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 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



Back to the top