| 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
internet detective
Marshal
Joined: May 26, 2003
Posts: 26489
|
|
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
internet detective
Marshal
Joined: May 26, 2003
Posts: 26489
|
|
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: 16487
|
|
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: 2344
|
|
Doesn't your database expect:
?
|
OCUP UML fundamental
ITIL foundation
|
 |
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
internet detective
Marshal
Joined: May 26, 2003
Posts: 26489
|
|
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
internet detective
Marshal
Joined: May 26, 2003
Posts: 26489
|
|
|
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
internet detective
Marshal
Joined: May 26, 2003
Posts: 26489
|
|
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: 23
|
|
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
internet detective
Marshal
Joined: May 26, 2003
Posts: 26489
|
|
'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
internet detective
Marshal
Joined: May 26, 2003
Posts: 26489
|
|
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
internet detective
Marshal
Joined: May 26, 2003
Posts: 26489
|
|
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
|
 |
 |
|
|
subject: problem with insert and select
|
|
|