hello,
i am using preparestatement to insert muliple rows into database.
My problem is that in the 2nd addBatch block i dont want to insert any value into the col2, which is a numeric field.
And i dont want to do it in a different query.
How to do that.
Please help
Sebastian Janisch
Ranch Hand
Joined: Feb 23, 2009
Posts: 1169
posted
0
You can't. setInt takes an int, which is a primitive and must represent a legal value. Only reference variables can be assigned null.
JDBCSupport - An easy to use, light-weight JDBC framework -
To correct what Sebastian says, you can, but NULL is a distinct SQL type, so you can't do it with that particular method. You need to use setNull rather than setInt.
It should be java.sql.Types.INTEGER if you are dealing with an integer.
Regards, Jan
wang lei
Greenhorn
Joined: Mar 09, 2010
Posts: 12
posted
0
sorry,i made a mistake
Fabio Piergentili
Ranch Hand
Joined: Sep 04, 2009
Posts: 57
posted
0
I am having a problem pertaining to this subject.
What if the table entry is an integer but a foreign key to another table? setNull sets an integer to 0 and not null so the update fails as 0 is not a valid reference to another table. Is their a way to pass it the null sql type ...... set column=null ....... not ......set column=0....?
When I get the values via it returns 0 if column is null. I was not aware of that. So my object was storing 0. I had to put in a check and not populate the valriable in my object if 0 was returned. This works ok for me as the column in question is a foreign key and a 0 value is never valid. I would not know how to handle this if 0 was a valid value. Any suggestions?
Thank You
This message was edited 1 time. Last update was at by Fabio Piergentili