2012-03-22 119 views
0

,我在下面的查詢得到一個錯誤:錯誤轉換數據類型爲varchar到數字

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

你真的存儲字符串「空」或價值'null'? – HABO 2012-03-22 03:08:12

+0

請檢查我更新了我的問題,但在某些情況下,它正在工作,其他案件null不會被這些檢查過濾 – 2012-03-22 05:05:49

回答

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) " ;  
} 
+0

你真的應該開始縮進你的代碼... – ThiefMaster 2012-03-23 10:45:16

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'). 

當你永遠inser空不要放進了報價,將其轉換成以下聲明和檢查

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'). 
+0

我更新了代碼,現在它工作正常,代碼是 – 2012-03-22 04:05:40

+0

以下請檢查我更新了我的問題,但在一些它正在工作的情況下,其他案件null不會被這些檢查過濾 – 2012-03-22 05:29:36

相關問題