java - I received an error when joining data through JoinRowSet -


i've tried join via java using joinrowset no success, i'm receiving error :

exception in thread "main" java.sql.sqlexception: match column not set join @ com.sun.rowset.joinrowsetimpl.addrowset(joinrowsetimpl.java:219) @ joinrowset.joinrowset.databasecheck(joinrowset.java:33) @ joinrowset.joinrowset.main(joinrowset.java:49) 

what solution problem ? can't find on internet i'm stuck. if have solution great. thanks

package joinrowset;  import java.sql.connection; import java.sql.drivermanager; import java.sql.resultset; import java.sql.sqlexception; import java.sql.statement; import javax.sql.rowset.cachedrowset; import javax.sql.rowset.rowsetprovider;    public class joinrowset {       void databasecheck() throws sqlexception, classnotfoundexception {           class.forname("com.microsoft.sqlserver.jdbc.sqlserverdriver");         string url="jdbc:sqlserver://localhost:1433;databasename=movies;integratedsecurity=true";         connection c = drivermanager.getconnection(url);         statement s = c.createstatement();          resultset rs = s.executequery("select filmname tblfilm");          cachedrowset director = rowsetprovider.newfactory().createcachedrowset();         cachedrowset film = rowsetprovider.newfactory().createcachedrowset();          director.populate(s.executequery("select directorname tbldirector"));         film.populate(s.executequery("select filmname tblfilm"));          javax.sql.rowset.joinrowset jrs = rowsetprovider.newfactory().createjoinrowset();         jrs.addrowset(director);         jrs.addrowset(film);          while(jrs.next()) {             for(int i=1; i<=jrs.getmetadata().getcolumncount(); i++) {                  system.out.println(jrs.getstring(i) + "\t");             }         }      }       public static void main(string[] args) throws sqlexception, classnotfoundexception {          joinrowset instantiate = new joinrowset();         instantiate.databasecheck();       } } 

joinrowset wants know, how join data. need set match column. in queries select directorname tbldirector , select filmname tblfilm there isn't column used match column. guess every film has have director and, probably, in table tbldirector may find references directors. in case rewrite code as

director.populate(s.executequery("select directorname tbldirector")); film.populate(s.executequery("select filmname, directorname tblfilm")); javax.sql.rowset.joinrowset jrs = rowsetprovider.newfactory().createjoinrowset();  director.setmatchcolumn(1);   //position of column "directorname"  film.setmatchcolumn(2);       //position of column "directorname"   jrs.addrowset(director); jrs.addrowset(film); 

do not forget, it's example based on assumption data structure.


Comments

Popular posts from this blog

1111. appearing after print sequence - php -

java - WARN : org.springframework.web.servlet.PageNotFound - No mapping found for HTTP request with URI [/board/] in DispatcherServlet with name 'appServlet' -

Ruby on Rails, ActiveRecord, Postgres, UTF-8 and ASCII-8BIT encodings -