package estimationsystem;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.text.SimpleDateFormat;
import java.util.Date;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import javax.swing.table.*;
import java.util.Date;
public class Receipt extends JInternalFrame
implements ActionListener
{
JPanel mainPane,Pane1,Pane2,Pane3;
JLabel rich,title1,title2,addressLabel,address1Label,payNoLabel,payDateLabel,amtwrds,
spLabel, goodReceipt,current,date,chequeNoLabel,DateLabel,drBnkLabel,balLabel,payModeLabel,amntLabel,remLabel,icon;
public static JTextField txtTrnNo,txtPartyName,txtPartyId,txtPayNumber,txtaddr1,txtaddr2,txtarea,txtcity,
txtstate,txtpincode,txtBankName,txtBalance,txtAmount,txtrpc;
DateComboBox cbxTrnDate,cbxPayDate;
JComboBox cbxPayMode,payModeCBox;
JButton btnsearch,btnnew,btnsave,btnexit,btnprint;
JScrollPane jspRem;
JPasswordField jpf;
public JTextArea txaRemarks;
JTable table;
TableModel myModel;
private Connection con;
private Statement st;
private ResultSet rs;
Boolean flag;
String currentPattern = "MMM dd, yyyy" ;
Date today;
SimpleDateFormat formatter;
String dateString;
public void actionPerformed(ActionEvent e) {
if ("save".equals(e.getActionCommand()))
{
boolean saveflag=true;
CommonFunction cf=new CommonFunction();
cf.DynamicInsert("trn_cashflow",this,saveflag);
}
}
}
package estimationsystem;
import java.awt.event.ActionEvent;
import java.lang.reflect.Field;
import java.sql.*;
import java.util.Vector;
import javax.swing.*;
public class CommonFunction
{
Connection con;
Statement st;
ResultSet rs;
static boolean newflag;
static boolean viewflag;
static boolean saveflag;
static boolean deleteflag;
static boolean updateflag;
static boolean autoflag;
static boolean flags;
public void DynamicInsert(String tablename,JInternalFrame vi,boolean flag )
{
newflag=false;
saveflag=false;
try
{
String temp;
String ColCat="";
String ValCat="";
String EliCommaCol="";
String EliCommaVal="";
String InsertQuery="";
String ObjectName="";
String value="";
String BldName="";
String BldValues="";
Vector ObjValue=new Vector();
Vector AllValues=new Vector();
ResultSetMetaData md;
Field[] fields = vi.getClass().getDeclaredFields();
for (int i = 0; i < fields.length; i++)
{
if(fields.getType()==JTextArea.class)
{
Object obj=fields[i].getName();
System.out.println(obj);
System.out.println("TextArea");
JTextArea jta=(JTextArea)fields[i].get(vi);
ObjValue.add(obj);
AllValues.add(jta.getText());
}
else if (fields[i].getType() == JTextField.class)
{
Object obj = fields[i].getName();
System.out.println(obj);
JTextField Ttf = (JTextField) fields[i].get(vi);
ObjValue.add(obj);
AllValues.add(Ttf.getText());
}
else if(fields[i].getType()==JComboBox.class)
{
Object obj = fields[i].getName();
System.out.println(obj);
JComboBox CBox = (JComboBox) fields[i].get(vi);
ObjValue.add(obj);
AllValues.add(CBox.getSelectedItem());
}
else if(fields[i].getType()==DateComboBox.class)
{
Object obj=fields[i].getName();
System.out.println(obj);
System.out.println("Date");
DateComboBox DateBox=(DateComboBox) fields[i].get(vi);
ObjValue.add(obj);
AllValues.add(DateBox.getSelectedItem());
}
else if(fields[i].getType()==JPasswordField.class)
{
Object obj=fields[i].getName();
System.out.println("password");
JPasswordField jpf=(JPasswordField)fields[i].get(vi);
ObjValue.add(obj);
String pass=new String(jpf.getPassword());
AllValues.add(pass);
}
}
con=DriverManager.getConnection("jdbc:mysql://system22/richwoods?&user=root&password=jrt");
st=con.createStatement();
String Qry = "select * from " + tablename;
rs=st.executeQuery(Qry);
md=rs.getMetaData();
for(int j=0;j<ObjValue.size();j++)
{
temp=(String)ObjValue.get(j);
temp=temp.substring(3);
for(int k=1;k<=md.getColumnCount();k++)
{
if(temp.equalsIgnoreCase(md.getColumnName(k)))
{
ColCat=ColCat+temp+",";
System.out.println(ColCat);
}
}
}
EliCommaCol=ColCat.substring(0,ColCat.length()-1);
for(int k=0;k<AllValues.size();k++)
{
ValCat=ValCat+"'"+AllValues.get(k)+"',";
}
EliCommaVal=ValCat.substring(0,ValCat.length()-1);
InsertQuery="insert into "+tablename+"("+EliCommaCol+") values ("+EliCommaVal+")";
System.out.println(InsertQuery);
st.execute(InsertQuery);
JOptionPane.showMessageDialog(null,"Record Saved");
}
catch(Exception e)
{
//JOptionPane.showMessageDialog(null,"Record Already exists");
System.out.println(e);
}
}
It will print all the JTextField but not printing JTextArea and JComboBox which is declared in the receipt form and it is showing NullPointerException. Help me...