我在以下查询中收到错误:
insert into ProductStone ( Pieces, Weight, CutChg, LotID,
CatID, OrnID, StoneID, ShadeID, CutID, ChgType, SetID)
values ( '10', '0.3', 'null', '601', 'H', '101',
'S', '0', '13', 'null', '4' ).
问题是我在运行时创建了我的查询。请告诉我如何在运行时检查值是否为空。
我用于在运行时构建动态查询的部分代码如下所示。我改变了以前的代码,但在某些情况下,它正在运行,有些情况下不使用空值。
if ((updatedData.elementAt(r).get(c).get(1)==null) ||
(updatedData.elementAt(r).get(c).get(1).equals("")))
{
updatedData.elementAt(r).get(c).set(1,"0");
}
else if (!(updatedData.elementAt(r).get(c).get(1).toString().equalsIgnoreCase("null") ))
{
updatedData.elementAt(r).get(c).set(1,"0");
}
答案 0 :(得分:1)
if((updatedData.elementAt(r).get(c).get(1)==null) || (updatedData.elementAt(r).get(c).get(1).equals("")))
{
updatedData.elementAt(r).get(c).set(1,null);
}
更改该段代码并检查......
还有一点
insert into ProductStone ( Pieces, Weight, CutChg, LotID,
CatID, OrnID, StoneID, ShadeID, CutID, ChgType, SetID)
values ( '10', '0.3', 'null', '601', 'H', '101',
'S', '0', '13', 'null', '4' ).
当你因为null而不把它放在引号中时,将其转换为以下语句并检查
insert into ProductStone ( Pieces, Weight, CutChg, LotID,
CatID, OrnID, StoneID, ShadeID, CutID, ChgType, SetID)
values ( '10', '0.3', null, '601', 'H', '101',
'S', '0', '13', null, '4' ).
答案 1 :(得分:0)
我的问题正在通过两个验证来解决
//First
if ((updatedData.elementAt(r).get(c).get(1).toString().equals("null")))
{
updatedData.elementAt(r).get(c).set(1,"0");
}
//Second
if (!(updatedData.elementAt(r).get(c).get(1).toString().equals("null")))
{
updateQuery +=updatedData.elementAt(r).get(c).get(0)+"='"+updatedData.elementAt(r).get(c).get(1)+"', " ;
insertColValsStr += " '"+updatedData.elementAt(r).get(c).get(1)+"') ";
}
else
{
updateQuery += updatedData.elementAt(r).get(c).get(0)+"=null " ;
insertColValsStr += " null ) " ;
}