# IReport mit ODBC



## genial24 (14. Februar 2006)

Hallo
ich bin JAVA-anfänger und habe folgendes Problem:
Ich habe eine iReport erstellt der mit ODBC auf eine iSeries-DB zugreift.
Nun möchte ich in einem Loginfenster USER und Passwort eingeben können und diese Eingaben nutzen für den ODBC-Zugriff. 

Zur Zeit lese ich die Angaben aus einem INI-File.


```
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.util.*;
import java.text.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException.*;
import java.sql.*;
import java.util.HashMap;
import sun.jdbc.odbc.*;
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.view.*;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JRExpression;
import net.sf.jasperreports.engine.JRParameter;
import net.sf.jasperreports.engine.JRReport;
import net.sf.jasperreports.engine.JasperRunManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.fill.JRBaseFiller.*;
import net.sf.jasperreports.engine.fill.JRFiller.*;
import net.sf.jasperreports.engine.util.JRQueryExecuter.*;
import net.sf.jasperreports.engine.JRRuntimeException;
import net.sf.jasperreports.engine.JRVariable;
import net.sf.jasperreports.engine.util.JRLoader.*;
import net.sf.jasperreports.engine.data.*;
import net.sf.jasperreports.engine.base.*;
import java.io.*;




public class Ergebnis extends JPanel implements ActionListener {

        private static String url;
	private static String user;
	private static String password;
        private static String JReport;
	private JLabel message;
	private Vector USERliste;
        private Vector Login;
	private int size;
	private int idx;
        private LAW bs;


            public Ergebnis() throws Exception {
	

              	

            
 
           JPanel headers = new JPanel();

	   		
	

				

                {      try 
                       

       {

        Properties prop = getParameter("REWEPrint.ini");
         String driver = prop.getProperty("driver");
	 url = prop.getProperty("url");
         user = prop.getProperty("user");
         password = prop.getProperty("password");
         JReport = prop.getProperty("JReport");   
         Class.forName(driver).newInstance();
       } catch (Exception e) {
         e.printStackTrace();
       }

         Connection con = null;
            try {
            
            

                con = DriverManager.getConnection(url,user,password);

            
		
			
            Map par = new HashMap();
            String user1 = System.getProperty("user.name");
            String user = user1.toUpperCase();
            par.put("usr",user);
            
            JRViewer viewer = new JRViewer(JasperFillManager.fillReport(JReport, par, con));
            
           

            headers.setSize  ( 1000, 680 ); 
           //Dimension d = getToolkit().getScreenSize();
           Dimension d = headers.getSize();


            viewer.setPreferredSize(new Dimension(d.width, d.height));
            
            headers.add(viewer, BorderLayout.CENTER);     
            
           } catch (SQLException e1) {
            e1.printStackTrace();
            } finally {
            if (con != null)
                try {
                    con.close();
                } catch (SQLException e2) {
                    e2.printStackTrace();
                }}}
                
                add(headers);
	       
                
	}
	
	public void setListe(Vector liste) {
		USERliste = liste;
	
		size = USERliste.size();
		if (size == 0)
			return;
		

	}

	public void actionPerformed(ActionEvent e) {
		Object obj = e.getSource();
		
        }
        private static Properties getParameter(String datei) throws IOException {
		FileInputStream in = new FileInputStream(datei);
		Properties prop = new Properties();
		prop.load(in);
		in.close();
		return prop;
	}
        
            public void stateChanged(javax.swing.event.ChangeEvent changeEvent) {
        }
}
```
Wer kann mir helfen.


----------



## elmato (15. Februar 2006)

Ich Verstehe nicht so ganz wo dein Problem liegt, wenn du Name/PW abfragen willst kannst du dir doch einen Dialog schreiben oder möchtest du das die Abfrage in iReport stattfindet?


----------

