Inner Join mutiple tables with error in row when input data - Java

StackOverflow https://stackoverflow.com/questions/20894938
  •  
  •  | 
  •   ( words)
 Checked

Question

Previously i have posted question regarding inner join into multiple table. and most probably the SQL inner join code is not a problem.

rsTry = stmtTry.executeQuery(

"SELECT * FROM (User Inner Join CPU On User.SN = CPU.SN) Inner Join Software on CPU.SN = Software.SN");

Here is the code to store in database

    rsTry.moveToInsertRow();
    rsTry.updateString(1, jtfSN.getText());
    rsTry.updateString(2, jtfName.getText());
    rsTry.updateString(3, jtfDepartment.getText());
    rsTry.updateString(4, jtfHostname.getText());
    rsTry.updateString(5, jtfModel.getText());
    rsTry.updateString(6, jtfBrand.getText());
    rsTry.updateString(9, jtfMsOffice.getText());
    rsTry.updateString(10, jtfMsVisio.getText());
    rsTry.insertRow();

My table Design

User - SN | Name | Department
CPU - Hostname | Model | Brand | SN
S/w - SN | MsOffice | MsVisio

i have no problem with inner join 2 tables and manage to update data as well. but when inner join 3 tables once i try to submit the data it will pop out

ava.sql.SQLException: [Microsoft][ODBC Microsoft Access Driver] Syntax error in JOIN operation.
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6964)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7121)
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3117)
at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:337)
at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:252)
at testing.NewJFrame.testingJoint(NewJFrame.java:64)
at testing.NewJFrame.actionPerformed(NewJFrame.java:40)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:252)
at java.awt.Component.processMouseEvent(Component.java:6505)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3320)
at java.awt.Component.processEvent(Component.java:6270)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4861)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2719)
at java.awt.Component.dispatchEvent(Component.java:4687)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:735)
at java.awt.EventQueue.access$200(EventQueue.java:103)
at java.awt.EventQueue$3.run(EventQueue.java:694)
at java.awt.EventQueue$3.run(EventQueue.java:692)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:708)
at java.awt.EventQueue$4.run(EventQueue.java:706)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:705)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:150)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:146)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:138)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:91)

BUILD SUCCESSFUL (total time: 3 seconds)

No correct solution

OTHER TIPS

Problem Solved

For example -

Table A | Username(PK)| Address|

Table B | ID | Phone | Username(FK)|

Table C | SN | Brand | Model | Username(FK)

rs = st.executeQuery

("SELECT * FROM (A Inner Join B on A.Username = B.Username) Inner Join C on A.Username = C.Username");

if anyone looking for inner join 3 tables together by Using JAVA and Link to Access use the referenece above.

Make sure you must link the table relationship in Access before run the java program if not it will pop out "ERROR IN ROW"

Thanks everyone who helping me :)

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow