Advertisement
Guest User

Untitled

a guest
Jun 6th, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.26 KB | None | 0 0
  1. package Packg;
  2.  
  3. import javax.swing.*;
  4. import java.sql.*;
  5. import java.awt.*;
  6. import java.awt.event.*;
  7. import java.util.*;
  8.  
  9. public class Add_Record extends JFrame implements ActionListener
  10. {
  11.  
  12. private Container container;
  13. private int counter=0;
  14. private JButton button[];
  15. private JTextField tf[];
  16. private Data dat;
  17. private Vector v;
  18. private String cn[];
  19. private int ct[];
  20. private String sou,tn;
  21. private Connection connection;
  22. public Add_Record(String so,String tn1, String cn1[],int ct1[])
  23. {
  24. ct=ct1;
  25. sou=so;
  26. tn=tn1;
  27. cn=cn1;
  28. container=getContentPane();
  29. formGUI();
  30. setTitle("Add Record");
  31. setBounds(50,50,350,350);
  32. setVisible(true);
  33. setResizable(false);
  34. }
  35. public void formGUI()
  36. {
  37. JLabel label[]=new JLabel[cn.length];
  38. tf=new JTextField[cn.length];
  39.  
  40. JPanel panel_field=new JPanel(new GridLayout(cn.length,2));
  41.  
  42. for(int i=0;i<label.length;i++)
  43. {
  44. label[i]=new JLabel();
  45. label[i].setText(cn[i]);
  46. tf[i]=new JTextField(20);
  47. tf[i].setText("");
  48. panel_field.add(label[i]);
  49. panel_field.add(tf[i]);
  50. }
  51.  
  52. button=new JButton[1];
  53.  
  54. JPanel panel=new JPanel(new GridLayout(1,4));
  55.  
  56. for(int i=0;i<button.length;i++)
  57. {
  58. button[i]=new JButton();
  59. panel.add(button[i]);
  60. button[i].addActionListener(this);
  61. }
  62. button[0].setText("Add");
  63.  
  64. container.add(panel_field,BorderLayout.NORTH);
  65. container.add(panel,BorderLayout.SOUTH);
  66. empty();
  67. }
  68.  
  69.  
  70. public void actionPerformed(ActionEvent e)
  71. {
  72. if(e.getSource()==button[0])
  73. {
  74. add();
  75. empty();
  76. }
  77.  
  78.  
  79. }
  80. public void empty()
  81. {
  82. for(int i=0;i<tf.length;i++)
  83. {
  84. tf[i].setText("");
  85. }
  86.  
  87. }
  88. public void add()
  89. {
  90. try
  91. {
  92. Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  93. String source="jdbc:odbc:"+sou;
  94. connection=DriverManager.getConnection(source);
  95. String insert="insert into "+tn+"("+cn[0];
  96.  
  97. for(int i=1;i<cn.length;i++)
  98. {
  99. insert+=","+cn[i];
  100. }
  101. insert+=") values(?";
  102. for(int i=1;i<cn.length;i++)
  103. {
  104. insert+=",?";
  105. }
  106. insert+=")";
  107. System.out.println(insert);
  108. PreparedStatement ps=connection.prepareStatement(insert);
  109. System.out.println("AFTER PS");
  110. int co=0;
  111. for(int i=1;i<=cn.length;i++)
  112. {
  113. System.out.println("co:t"+co);
  114.  
  115. if(ct[co]==Types.INTEGER)
  116. {
  117. System.out.println("b4 INTEGER");
  118. int it=Integer.parseInt(tf[co].getText());
  119. System.out.println("it:t"+it);
  120. ps.setInt(i,it);
  121. System.out.println("in INTEGER");
  122. }
  123. else if(ct[co]==Types.VARCHAR)
  124. {
  125. ps.setString(i,tf[co].getText());
  126. System.out.println("in VARCHAR");
  127. }
  128.  
  129. co++;
  130. }
  131. int r= ps.executeUpdate();
  132. System.out.println("r:t"+r);
  133. if(r==0)
  134. connection.rollback();
  135. ps.close();
  136. connection.close();
  137.  
  138. }
  139. catch(ClassNotFoundException cnfe)
  140. {
  141. System.out.println("cnfe in add");
  142. }
  143. catch(SQLException sqle)
  144. {
  145. System.out.println("sqle in addn"+sqle.getSQLState()+"n"+sqle.getStackTrace());
  146. }
  147.  
  148. }
  149.  
  150. /*public static void main(String a[])
  151. {
  152. Data_Retrieval dr=new Data_Retrieval();
  153. dr.getData("std","select * from std_info");
  154. Add_Record add=new Add_Record("std","std_info",dr.getColumn_name(),dr.getType());
  155.  
  156. }*/
  157. }
  158.  
  159. package Packg;
  160.  
  161. public class Data
  162. {
  163. public Object obj[];
  164. public Data(int l)
  165. {
  166. obj=new Object[l];
  167. }
  168. }
  169.  
  170. package Packg;
  171.  
  172. import java.sql.*;
  173. import java.util.*;
  174.  
  175. /**
  176. * This class retreives data from a database file
  177. */
  178. public class Data_Retrieval
  179. {
  180. private String column_name[];
  181. private int column_type[];
  182. private String column_type_name[];
  183. private int column_size[];
  184. private Vector v;
  185. private Data dat;
  186.  
  187. public Data_Retrieval()
  188. {
  189.  
  190. }
  191. public String[] getColumn_name()
  192. {
  193. return column_name;
  194. }
  195. public String[] getColumn_type_name()
  196. {
  197. return column_type_name;
  198. }
  199. public Vector getVector()
  200. {
  201. return v;
  202. }
  203. public int[] getType()
  204. {
  205. return column_type;
  206. }
  207.  
  208. public int[] getSize()
  209. {
  210. return column_size;
  211. }
  212. public void getData(String sou,String stat)
  213. {
  214. try
  215. {
  216. Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
  217. String source="jdbc:odbc:"+sou;
  218. Connection connection=DriverManager.getConnection(source);
  219. String all_records=stat;
  220. PreparedStatement statement=connection.prepareStatement(all_records);
  221. ResultSet rs=statement.executeQuery();
  222. v=new Vector(2,1);
  223. ResultSetMetaData md=rs.getMetaData();
  224. int tc=md.getColumnCount();
  225. column_name=new String[tc];
  226. column_type=new int[tc];
  227. column_size=new int[tc];
  228. column_type_name=new String[tc];
  229. int c=0;
  230. for(int i=1;i<=tc;i++)
  231. {
  232. column_name[c]=md.getColumnName(i);
  233. column_size[c]=md.getColumnDisplaySize(i);
  234. column_type[c]=md.getColumnType(i);
  235. column_type_name[c]=md.getColumnTypeName(i);
  236.  
  237. System.out.println(i+" column name:t"+column_name[c]);
  238. System.out.println(i+" column type:t"+column_type[c]);
  239. System.out.println(i+" column size:t"+column_size[c]);
  240.  
  241.  
  242. c++;
  243. }
  244.  
  245. while(rs.next())
  246. {
  247. dat= new Data(tc);
  248. c=0;
  249. for(int cl=1;cl<=tc;cl++)
  250. {
  251. dat.obj[c]=rs.getObject(cl);
  252. c++;
  253. }
  254. v.add(dat);
  255. }
  256. rs.close();
  257. statement.close();
  258. connection.close();
  259. }
  260. catch(ClassNotFoundException cnfe)
  261. {
  262. System.out.println("cnfe in data retreival");
  263. }
  264. catch(SQLException sqle)
  265. {
  266. System.out.println("sqle in data retreival");
  267. }
  268. }
  269. }
  270.  
  271. package Packg;
  272. import javax.swing.*;
  273.  
  274. public class DBApplication
  275. {
  276.  
  277. public static void main(String a[])
  278. {
  279. Table_Viewer tv=new Table_Viewer();
  280. tv.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  281.  
  282. }
  283. }
  284.  
  285. package Packg;
  286.  
  287. import javax.swing.JFrame;
  288. import javax.swing.*;
  289. import java.sql.*;
  290. import javax.swing.table.*;
  291. import java.awt.*;
  292. import java.awt.event.*;
  293. import java.util.*;
  294.  
  295. public class Structure extends JFrame
  296. {
  297. private JTable table;
  298. private Container container;
  299. private Data dat;
  300. private Vector v;
  301. private String cn[],ct[];
  302. private int cs[];
  303.  
  304. public Structure(String cn1[],String ct1[],int cs1[])
  305. {
  306.  
  307. cn=cn1;
  308. ct=ct1;
  309. cs=cs1;
  310. container=getContentPane();
  311. v=new Vector(2,1);
  312. dynamicTable();
  313. setTitle("Table Structure");
  314. setBounds(50,50,350,350);
  315. setVisible(true);
  316. setResizable(false);
  317.  
  318.  
  319. }
  320. public void dynamicTable()
  321. {
  322. DefaultTableModel dm=new DefaultTableModel();
  323. table=new JTable(dm);
  324. table.setEnabled(false);
  325. dm.addColumn("Field");
  326. dm.addColumn("Type");
  327. dm.addColumn("Size");
  328. Data dat;
  329. for(int i=0;i<cn.length;i++)
  330. {
  331. dat=new Data(3);
  332. dat.obj[0]=cn[i];
  333. dat.obj[1]=ct[i];
  334. dat.obj[2]=""+cs[i];
  335. dm.addRow(dat.obj);
  336. }
  337. JScrollPane scroll=new JScrollPane(table,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
  338. container.add(scroll,BorderLayout.CENTER);
  339.  
  340. }
  341. }
  342.  
  343. package Packg;
  344.  
  345. import javax.swing.*;
  346. import java.sql.*;
  347. import javax.swing.table.*;
  348. import java.awt.*;
  349. import java.awt.event.*;
  350. import java.util.*;
  351.  
  352. public class Table extends JFrame
  353. {
  354. private JTable table;
  355. private Container container;
  356. private Data dat;
  357. private Vector v;
  358. private String cn[];
  359. public Table(String cn1[],Vector v1)
  360. {
  361. cn=cn1;
  362. dat=new Data(cn.length);
  363. v=new Vector(v1);
  364. container=getContentPane();
  365. dynamicTable();
  366. setTitle("Table of Table");
  367. setBounds(50,50,350,350);
  368. setVisible(true);
  369. setResizable(false);
  370.  
  371. }
  372. public void dynamicTable()
  373. {
  374. DefaultTableModel dm=new DefaultTableModel();
  375. table=new JTable(dm);
  376. table.setEnabled(false);
  377. for(int i=0;i<cn.length;i++)
  378. {
  379. dm.addColumn(cn[i]);
  380. }
  381. for(int i=0;i<v.size();i++)
  382. {
  383. dat=new Data(cn.length);
  384. dat=(Data)v.elementAt(i);
  385. dm.addRow(dat.obj);
  386. }
  387. JScrollPane scroll=new JScrollPane(table,JScrollPane.VERTICAL_SCROLLBAR_AS_NEEDED,JScrollPane.HORIZONTAL_SCROLLBAR_NEVER);
  388. container.add(scroll,BorderLayout.CENTER);
  389.  
  390. }
  391. }
  392.  
  393. package Packg;
  394.  
  395. import javax.swing.*;
  396. import java.sql.*;
  397. import java.awt.*;
  398. import java.awt.event.*;
  399. import java.util.*;
  400.  
  401. public class Table_Viewer extends JFrame implements ActionListener
  402. {
  403. private Vector v;
  404. private Container container;
  405. private Data_Retrieval dr;
  406. private String cn[],cts[];
  407. private int ct[],cs[];
  408. private Data dat;
  409. private JMenuItem struc_mi,sou_mi,table_mi,add_mi,que_mi,form_mi,tv_mi;
  410. String source,tn,st=null;
  411.  
  412.  
  413. public void menu()
  414. {
  415. sou_mi=new JMenuItem("Source");
  416. table_mi=new JMenuItem("Table");
  417. add_mi=new JMenuItem("Add");
  418. que_mi=new JMenuItem("Query");
  419. form_mi=new JMenuItem("Form View");
  420. tv_mi=new JMenuItem("Table View");
  421. struc_mi=new JMenuItem("Struct");
  422. struc_mi.setEnabled(false);
  423. form_mi.setEnabled(false);
  424. tv_mi.setEnabled(false);
  425. table_mi.setEnabled(false);
  426. struc_mi.addActionListener(this);
  427. sou_mi.addActionListener(this);
  428. table_mi.addActionListener(this);
  429. form_mi.addActionListener(this);
  430. tv_mi.addActionListener(this);
  431. add_mi.addActionListener(this);
  432. que_mi.addActionListener(this);
  433. JMenu sel_m=new JMenu("Select");
  434. JMenu oper_m=new JMenu("Operations");
  435. sel_m.add(sou_mi);
  436. sel_m.add(table_mi);
  437. sel_m.add(struc_mi);
  438. sel_m.add(form_mi);
  439. sel_m.add(tv_mi);
  440. oper_m.add(add_mi);
  441. oper_m.add(que_mi);
  442. JMenuBar bar=new JMenuBar();
  443. bar.add(sel_m);
  444. bar.add(oper_m);
  445. this.setJMenuBar(bar);
  446.  
  447. }
  448. public void getRecords()
  449. {
  450. String s="select * from ";
  451. s+=tn;
  452. System.out.println(s);
  453. if(st!=null)
  454. {
  455. dr.getData(source,st);
  456. st=null;
  457. }
  458.  
  459. else
  460. dr.getData(source,s);
  461.  
  462. cn=dr.getColumn_name();
  463. ct=dr.getType();
  464. cts=dr.getColumn_type_name();
  465. cs=dr.getSize();
  466. v=dr.getVector();
  467.  
  468. }
  469. public void showRecords()
  470. {
  471. System.out.println("vector size:t"+v.size());
  472.  
  473. dat=new Data(cn.length);
  474. for(int row=0;row<v.size();row++)
  475. {
  476. dat=(Data)v.elementAt(row);
  477. for(int column=0;column<cn.length;column++)
  478. {
  479. System.out.println(cn[column]+":t"+dat.obj[column].toString());
  480. }
  481.  
  482. }
  483.  
  484. }
  485.  
  486.  
  487.  
  488. public Table_Viewer()
  489. {
  490. dr=new Data_Retrieval();
  491. menu();
  492. //getRecords();
  493. //showRecords();
  494. container=getContentPane();
  495. setTitle("DATABASE PROJECT");
  496. setBounds(10,10,300,300);
  497. setVisible(true);
  498. setResizable(false);
  499. }
  500.  
  501.  
  502.  
  503. public void actionPerformed(ActionEvent e)
  504. {
  505. if((JMenuItem)e.getSource()==sou_mi)
  506. {
  507. String sr=JOptionPane.showInputDialog(null,"Enter odbc source","odbc SOURCE",JOptionPane.PLAIN_MESSAGE);
  508. setSource(sr);
  509. }
  510. else if((JMenuItem)e.getSource()==table_mi)
  511. {
  512. String tn=JOptionPane.showInputDialog(null,"Enter table name","TABLE NAME",JOptionPane.PLAIN_MESSAGE);
  513. setTable(tn);
  514. }
  515. else if((JMenuItem)e.getSource()==form_mi)
  516. {
  517. System.out.println("in form_mi");
  518. Form f=new Form(cn,v);
  519. }
  520. else if((JMenuItem)e.getSource()==tv_mi)
  521. {
  522. Table table=new Table(cn,v);
  523. }
  524. else if((JMenuItem)e.getSource()==struc_mi)
  525. {
  526. Structure s=new Structure(cn,cts,cs);
  527. }
  528. else if((JMenuItem)e.getSource()==add_mi)
  529. {
  530. Add_Record add=new Add_Record(source,tn,cn,ct);
  531. }
  532. if((JMenuItem)e.getSource()==que_mi)
  533. {
  534. String q=JOptionPane.showInputDialog(null,"Enter SQL Query","Enter Query",JOptionPane.PLAIN_MESSAGE);
  535. st=q;
  536. getRecords();
  537. form_mi.setEnabled(true);
  538. tv_mi.setEnabled(true);
  539. struc_mi.setEnabled(true);
  540.  
  541.  
  542. }
  543.  
  544.  
  545. }
  546.  
  547.  
  548. public void setSource(String sc)
  549. {
  550. source=sc;
  551. table_mi.setEnabled(true);
  552. }
  553. public void setTable(String t)
  554. {
  555. tn=t;
  556. getRecords();
  557. showRecords();
  558. form_mi.setEnabled(true);
  559. struc_mi.setEnabled(true);
  560. tv_mi.setEnabled(true);
  561.  
  562. }
  563. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement