wood burning stoves 2.0*
The moose likes JDBC and the fly likes problem with insert and select Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of OCA/OCP Java SE 7 Programmer I & II Study Guide this week in the OCPJP forum!
JavaRanch » Java Forums » Databases » JDBC
Bookmark "problem with insert and select" Watch "problem with insert and select" New topic
Author

problem with insert and select

Antony Amicone
Ranch Hand

Joined: Mar 11, 2006
Posts: 125
Hi i have 2 problem

when i do the select query
if i do SELECT * FROM Recipes, all is ok
if i do SELECT Recipes,timeToEat, all is ok
if i insert another column of my database, he took out an error

second problem
the insert doesnt run

Datab


TbEvent

Jeanne Boyarsky
author & internet detective
Marshal

Joined: May 26, 2003
Posts: 30789
    
157


This is not a valid query in JDBC. Note that you really should use a PreparedStatement with "?" for the values. If you aren't, you need to add quotes around the string fields so the SQL is valid. One way to check for valid SQL is to run it at the database command line.

For your first problem with the select, what error message do you get?


[Blog] [JavaRanch FAQ] [How To Ask Questions The Smart Way] [Book Promos]
Blogging on Certs: SCEA Part 1, Part 2 & 3, Core Spring 3, OCAJP, OCPJP beta, TOGAF part 1 and part 2
Antony Amicone
Ranch Hand

Joined: Mar 11, 2006
Posts: 125


i did this but doesnt work, btw... bout the quotes, i putted them... can you please show me a good way to correct my code?


bout the select

i put a query
query = "SELECT Recipe,servings,timeToEat FROM Recipes"; and i have good result
if i put query = "SELECT Recipe,servings,timeToEat,ANOTHERFIELD FROM Recipes"; i have good result, but when i put my "level" field it has error
i changed fieldname, fieldtype, nothing...

java.sql.SQLException: [Microsoft][Driver ODBC Microsoft Access] Parametri insufficienti. Previsto 1.
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3110)
at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)
at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:253)
at desktopapplication1.Datab.<init>(Datab.java:27)
at desktopapplication1.TbEvent.actionPerformed(TbEvent.java:82)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Rene Larsen
Ranch Hand

Joined: Oct 12, 2001
Posts: 1179

Just to translate the error for the English reading people in here: "Parametri insufficienti. Previsto 1" = "Too few parameters. Expected 1"


Regards, Rene Larsen
Dropbox Invite
Antony Amicone
Ranch Hand

Joined: Mar 11, 2006
Posts: 125
Rene Larsen wrote:Just to translate the error for the English reading people in here: "Parametri insufficienti. Previsto 1" = "Too few parameters. Expected 1"


loool i didnt noticed, thank you my wife is from san francisco so i read both languages naturally :P
are you italian?
Rene Larsen
Ranch Hand

Joined: Oct 12, 2001
Posts: 1179

Antony Amicone wrote:loool i didnt noticed, thank you my wife is from san francisco so i read both languages naturally :P
are you italian?

No, I'm from Denmark - but I have some hidden talents
Rene Larsen
Ranch Hand

Joined: Oct 12, 2001
Posts: 1179

Ok, back to your question...

This error occurs only with Microsoft Access when one of the column names specified in a select statement does not exist in the table being queried.

Are you sure that you have the level column in your Access DB - and that it is spelled correct??
Antony Amicone
Ranch Hand

Joined: Mar 11, 2006
Posts: 125
Rene Larsen wrote:Ok, back to your question...

This error occurs only with Microsoft Access when one of the column names specified in a select statement does not exist in the table being queried.

Are you sure that you have the level column in your Access DB - and that it is spelled correct??

yes i tried many time, i changed many names to that column
Antony Amicone
Ranch Hand

Joined: Mar 11, 2006
Posts: 125
helllp
Jeanne Boyarsky
author & internet detective
Marshal

Joined: May 26, 2003
Posts: 30789
    
157

By quotes, I mean:

What error did you get when you tried this?

For your select problem, "level" is a reserved word in MS Access and cannot be the name of a column. Or worse, it can and will not work properly. See the list of reserved words and change that column name to something else.
Paul Clapham
Bartender

Joined: Oct 14, 2005
Posts: 18712
    
    8

You haven't yet shown us what the SQL command is. You've shown us a Java statement which generates the command, but not the command itself.

Wouldn't you think that when you have an error message which says you have invalid SQL, the first thing to do would be to look at the SQL?
Antony Amicone
Ranch Hand

Joined: Mar 11, 2006
Posts: 125
yeah i got that level is a reserved word, so i changed the name of the column, but every name i use in that column, it show me that error

bout the error for the insert my sql code is the one made from that string.
INSERT INTO Recipes (Recipe,servings,timeToEat) VALUES (recipeName,servings,timeToEat);
this is the error i get, but i think that i made mistake in calling the query
at desktopapplication1.TbEvent.actionPerformed(TbEvent.java:67)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Jan Cumps
Bartender

Joined: Dec 20, 2006
Posts: 2504
    
    8

Doesn't your database expect:
?


OCUP UML fundamental and ITIL foundation
youtube channel
Antony Amicone
Ranch Hand

Joined: Mar 11, 2006
Posts: 125
Jan Cumps wrote:Doesn't your database expect:
?


yes i did this, recipeName, servins and timeToEat, are the name of the variable containing the value for the database, and are the name of field of db too
Jeanne Boyarsky
author & internet detective
Marshal

Joined: May 26, 2003
Posts: 30789
    
157

Antony Amicone wrote:yes i did this, recipeName, servins and timeToEat, are the name of the variable containing the value for the database, and are the name of field of db too

We understand that, but we need to see the *actual* SQL being passed. This is more similar to what Jan posted. You can still use variables to build the SQL, just do a System.out.println() after that to see what String is actually being passed. Also, there are still no quotes around the values in your example. These are needed.

For your select problem, please show the query and error you get when the keyword is not "level".
Antony Amicone
Ranch Hand

Joined: Mar 11, 2006
Posts: 125


java.lang.NullPointerException
VALORE: testsssss 5 4 15 Pasta Insert here your recipe
1
at desktopapplication1.TbEvent.actionPerformed(TbEvent.java:68)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
BUILD SUCCESSFUL (total time: 18 seconds)


So the first mistake is in the create statement



bout the select

java.sql.SQLException: [Microsoft][Driver ODBC Microsoft Access] Too few parameters. Expected 1.
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6957)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3110)
at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)
at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:253)
at desktopapplication1.Datab.<init>(Datab.java:27)
at desktopapplication1.TbEvent.actionPerformed(TbEvent.java:85)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Antony Amicone
Ranch Hand

Joined: Mar 11, 2006
Posts: 125
INSERT INTO Recipes(Recipe,servings,timeToEat) VALUES (test,4,15)


this is the query that is made
Rene Larsen
Ranch Hand

Joined: Oct 12, 2001
Posts: 1179

Antony Amicone wrote:INSERT INTO Recipes(Recipe,servings,timeToEat) VALUES (test,4,15)


this is the query that is made

And the DB data type of the 3 inserted values are??
Antony Amicone
Ranch Hand

Joined: Mar 11, 2006
Posts: 125



ok now it runs but i have an error yet

VALORE: enchilada 4 4 15 Pasta Insert here your recipe
INSERT INTO Recipes(ID,Recipe,servings,timeToEat,howTo) VALUES ('4','enchilada','4','15','Insert here your recipe')
java.sql.SQLException: No ResultSet was produced
at sun.jdbc.odbc.JdbcOdbcStatement.executeQuery(JdbcOdbcStatement.java:259)
at desktopapplication1.Datab.<init>(Datab.java:27)
at desktopapplication1.TbEvent.actionPerformed(TbEvent.java:73)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
BUILD SUCCESSFUL (total time: 15 seconds)
Jeanne Boyarsky
author & internet detective
Marshal

Joined: May 26, 2003
Posts: 30789
    
157

What does the Datab class do? Note that it should call executeUpdate() and not return a result set since there is no query.
Antony Amicone
Ranch Hand

Joined: Mar 11, 2006
Posts: 125



i get this error


VALORE: test 5 4 15 Pasta Insert here your recipe
5
INSERT INTO Recipes(ID,Recipe,servings,timeToEat,howTo) VALUES ('6','test','4','15','Insert here your recipe')
java.sql.SQLException: General error
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6986)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3110)
at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)
at sun.jdbc.odbc.JdbcOdbcStatement.executeUpdate(JdbcOdbcStatement.java:288)
at desktopapplication1.Datab.<init>(Datab.java:27)
at desktopapplication1.TbEvent.actionPerformed(TbEvent.java:73)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
BUILD SUCCESSFUL (total time: 15 seconds)
Antony Amicone
Ranch Hand

Joined: Mar 11, 2006
Posts: 125
help please
Jeanne Boyarsky
author & internet detective
Marshal

Joined: May 26, 2003
Posts: 30789
    
157


This is a problem. It calls both executeUpdate and executeQuery for an insert. I think you want to add an else here.
Antony Amicone
Ranch Hand

Joined: Mar 11, 2006
Posts: 125
Jeanne Boyarsky wrote:
This is a problem. It calls both executeUpdate and executeQuery for an insert. I think you want to add an else here.


corrected putting the execute in else
but always get this error

INSERT INTO Recipes(ID,Recipe,servings,timeToEat,howTo) VALUES ('6','test','4','15','Insert here your recipe')
java.sql.SQLException: General error
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6986)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3110)
at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)
at sun.jdbc.odbc.JdbcOdbcStatement.executeUpdate(JdbcOdbcStatement.java:288)
at desktopapplication1.Datab.<init>(Datab.java:27)
at desktopapplication1.TbEvent.actionPerformed(TbEvent.java:74)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Sunil Tiwari
Ranch Hand

Joined: Sep 19, 2006
Posts: 49

a) The code should be modified a bit with else statement scope, as it will throw null pointer exception if run successfully



b) Regarding the General error we see, could you please let us know what are the data types of the fields in the table? It seems to be data type mismatch issue, still it needs more investigation.

~ Neil (SCJP)
Antony Amicone
Ranch Hand

Joined: Mar 11, 2006
Posts: 125
ID ( number )
Recipe ( text )
levela ( txt
timeToEat ( txt
Servings ( txt
howTo ( txt
Recipekind ( txt


btw HowTo should contain the path of a file on computer, you think is good to use text, or path?
Antony Amicone
Ranch Hand

Joined: Mar 11, 2006
Posts: 125
that was my database table, i corrected the code too, now the insert works but i get an error


20-lug-2010 12.14.46 org.jdesktop.application.SessionStorage restoreTree

AVVERTENZA: No saved state for javax.swing.JTable[jTable1,0,0,389x0,alignmentX=0.0,alignmentY=0.0,border=,flags=251658568,maximumSize=,minimumSize=,preferredSize=,autoCreateColumnsFromModel=true,autoResizeMode=AUTO_RESIZE_SUBSEQUENT_COLUMNS,cellSelectionEnabled=false,editingColumn=-1,editingRow=-1,gridColor=javax.swing.plaf.ColorUIResource[r=128,g=128,b=128],preferredViewportSize=java.awt.Dimension[width=450,height=400],rowHeight=16,rowMargin=1,rowSelectionAllowed=true,selectionBackground=javax.swing.plaf.ColorUIResource[r=51,g=153,b=255],selectionForeground=javax.swing.plaf.ColorUIResource[r=255,g=255,b=255],showHorizontalLines=true,showVerticalLines=true]
VALORE: Peanutbutter and banana 5 4 15 Pasta Insert here your recipe
6
INSERT INTO Recipes(ID,Recipe,Servings,timeToEat,howTo) VALUES ('7','Peanutbutter and banana','4','15','Insert here your recipe')
java.lang.NullPointerException
at desktopapplication1.Datab.getColumnCount(Datab.java:48)
at javax.swing.JTable.createDefaultColumnsFromModel(JTable.java:1261)
at javax.swing.JTable.tableChanged(JTable.java:4383)
at javax.swing.JTable.setModel(JTable.java:3685)
at desktopapplication1.TbEvent.actionPerformed(TbEvent.java:75)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
java.lang.NullPointerException
at desktopapplication1.Datab.getColumnCount(Datab.java:48)
at javax.swing.table.TableRowSorter$TableRowSorterModelWrapper.getColumnCount(TableRowSorter.java:244)
at javax.swing.DefaultRowSorter.updateUseToString(DefaultRowSorter.java:602)
at javax.swing.DefaultRowSorter.sort(DefaultRowSorter.java:556)
at javax.swing.DefaultRowSorter.allChanged(DefaultRowSorter.java:816)
at javax.swing.DefaultRowSorter.modelStructureChanged(DefaultRowSorter.java:826)
at javax.swing.JTable.tableChanged(JTable.java:4374)
at javax.swing.JTable.setModel(JTable.java:3685)
at desktopapplication1.TbEvent.actionPerformed(TbEvent.java:86)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
BUILD SUCCESSFUL (total time: 2 minutes 6 seconds)
Gaurav Sainii
Greenhorn

Joined: May 18, 2009
Posts: 24
As you said the type of ID in database is as:-
ID ( number )


while you are trying to pass a string to this value from your jdbc as:-
INSERT INTO Recipes(ID,Recipe,Servings,timeToEat,howTo) VALUES ('7','Peanutbutter and banana','4','15','Insert here your recipe')


Remove quotes from ID='7' in insert statement so that your insert statement would look like this:-
INSERT INTO Recipes(ID,Recipe,Servings,timeToEat,howTo) VALUES (7,'Peanutbutter and banana','4','15','Insert here your recipe')
Antony Amicone
Ranch Hand

Joined: Mar 11, 2006
Posts: 125
tried but the same error...

VALORE: test 5 4 15 Pasta Insert here your recipe
9
INSERT INTO Recipes(ID,Recipe,Servings,timeToEat,howTo,Recipekind,picture,levela) VALUES (10,'test',4,15,'Insert here your recipe','Pasta','null',5)
java.sql.SQLException: General error
at sun.jdbc.odbc.JdbcOdbc.createSQLException(JdbcOdbc.java:6986)
at sun.jdbc.odbc.JdbcOdbc.standardError(JdbcOdbc.java:7114)
at sun.jdbc.odbc.JdbcOdbc.SQLExecDirect(JdbcOdbc.java:3110)
at sun.jdbc.odbc.JdbcOdbcStatement.execute(JdbcOdbcStatement.java:338)
at sun.jdbc.odbc.JdbcOdbcStatement.executeUpdate(JdbcOdbcStatement.java:288)
at desktopapplication1.Datab.<init>(Datab.java:27)
at desktopapplication1.TbEvent.actionPerformed(TbEvent.java:74)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
BUILD SUCCESSFUL (total time: 5 seconds)
Jeanne Boyarsky
author & internet detective
Marshal

Joined: May 26, 2003
Posts: 30789
    
157

'null' - this is the string null
null - this is the value null

I think you want the later.
Antony Amicone
Ranch Hand

Joined: Mar 11, 2006
Posts: 125
yeah but is not that the error why it continue to give the error? it insert, but then it take this error
Antony Amicone
Ranch Hand

Joined: Mar 11, 2006
Posts: 125
INSERT INTO Recipes(ID,Recipe,Servings,timeToEat,howTo,Recipekind,picture,levela) VALUES (12,'faefaefaef',4,15,'Insert here your recipe','Pasta','null',5)
java.lang.NullPointerException
at desktopapplication1.Datab.getColumnCount(Datab.java:48)
at javax.swing.JTable.createDefaultColumnsFromModel(JTable.java:1261)
at javax.swing.JTable.tableChanged(JTable.java:4383)
at javax.swing.JTable.setModel(JTable.java:3685)
at desktopapplication1.TbEvent.actionPerformed(TbEvent.java:75)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
java.lang.NullPointerException
at desktopapplication1.Datab.getColumnCount(Datab.java:48)
at javax.swing.table.TableRowSorter$TableRowSorterModelWrapper.getColumnCount(TableRowSorter.java:244)
at javax.swing.DefaultRowSorter.updateUseToString(DefaultRowSorter.java:602)
at javax.swing.DefaultRowSorter.sort(DefaultRowSorter.java:556)
at javax.swing.DefaultRowSorter.allChanged(DefaultRowSorter.java:816)
at javax.swing.DefaultRowSorter.modelStructureChanged(DefaultRowSorter.java:826)
at javax.swing.JTable.tableChanged(JTable.java:4374)
at javax.swing.JTable.setModel(JTable.java:3685)
at desktopapplication1.TbEvent.actionPerformed(TbEvent.java:87)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236)
at java.awt.Component.processMouseEvent(Component.java:6263)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)
at java.awt.Component.processEvent(Component.java:6028)
at java.awt.Container.processEvent(Container.java:2041)
at java.awt.Component.dispatchEventImpl(Component.java:4630)
at java.awt.Container.dispatchEventImpl(Container.java:2099)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)
at java.awt.Container.dispatchEventImpl(Container.java:2085)
at java.awt.Window.dispatchEventImpl(Window.java:2475)
at java.awt.Component.dispatchEvent(Component.java:4460)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Jeanne Boyarsky
author & internet detective
Marshal

Joined: May 26, 2003
Posts: 30789
    
157

What does you latest DataB class look like? It would make things easier for people helping you if you TellTheDetails. While you've shared that class twice, it had to have changed since the last one or you would be getting a different error.

The null pointer is on the result set metadata. Is it null? It should be since rs is null. You'll need to go through the entire DataB class and not call methods that operate on rs or rsmd for the update. Or better yet, create a DataBForUpdate class that doesn't have rs/rsmd in it at all.
Antony Amicone
Ranch Hand

Joined: Mar 11, 2006
Posts: 125
cant understand what you mean


this is the class
Antony Amicone
Ranch Hand

Joined: Mar 11, 2006
Posts: 125
help!!!

when i insert something, i got that nullpointerexception, but the insert works, how to fix?
Jeanne Boyarsky
author & internet detective
Marshal

Joined: May 26, 2003
Posts: 30789
    
157

See PatienceIsAVirtue for why it can take up to 24 hours for a reply.

Back to your problem. Consider the following code:


The if statement doesn't protect fireTableStructureChanged. Which then calls your other methods that assume the result set and rsmd are set. Maybe fireTableStructureChanged() should be inside the else?
Sunil Tiwari
Ranch Hand

Joined: Sep 19, 2006
Posts: 49

That is what I fore-warned Antony!

I think, we are just resolving the errors rather than getting the code work straight(which totally depends on Antony's plan / thinking).
What exactly do you want to do Antony?
Antony Amicone
Ranch Hand

Joined: Mar 11, 2006
Posts: 125
i correct but now after the insert i want to show the table with new results, so i do a select *, but the code is not readed, i need to call another select with a button, to load it, is like the db needs time to update
Sunil Tiwari
Ranch Hand

Joined: Sep 19, 2006
Posts: 49

well, in that case,

Can you tell me, when your application starts up, does it loads up the data in the table on screen automatically or you need to press the Search button?
Antony Amicone
Ranch Hand

Joined: Mar 11, 2006
Posts: 125
after the button search
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: problem with insert and select