2016-08-03 50 views
-1

下面的代碼工作正常,只要我刪除"IMAGE_RESOURCE_ID"然而,當添加,連同它的值,我收到日期部分Cannot convert string "" to Date錯誤。刪除"IMAGE_RESOURCE_ID"及其值,它的工作原理沒有錯誤。無法弄清楚我做錯了什麼。奇數問題插入到sql

STSQL = "insert into mpcs.shop_inventory" 
     STSQL = STSQL & " (" 
     STSQL = STSQL & "SI_KEY," 
     STSQL = STSQL & "INV_TYPE," 
     STSQL = STSQL & "MTI_PART_NO," 
     STSQL = STSQL & "BUILD_NO," 
     STSQL = STSQL & "SERIAL_NO," 
     STSQL = STSQL & "HOME_LOCATION," 
     STSQL = STSQL & "HOME_LOCATION_SUB," 
     STSQL = STSQL & "DESCRIPTION," 
     STSQL = STSQL & "CATEGORY," 
     STSQL = STSQL & "QUANTITY," 
     STSQL = STSQL & "MIN_QTY," 
     STSQL = STSQL & "CONSUMABLE," 
     STSQL = STSQL & "CUST_PART_NO," 
     STSQL = STSQL & "UOM," 
     STSQL = STSQL & "WEIGHT," 
     STSQL = STSQL & "SCRAP_FLAG," 
     STSQL = STSQL & "NEXT_CAL," 
     STSQL = STSQL & "INTERVAL," 
     STSQL = STSQL & "SIZE_1," 
     STSQL = STSQL & "SIZE_2," 
     STSQL = STSQL & "SIZE_3," 
     STSQL = STSQL & "IMAGE_RESOURCE_ID" 
     STSQL = STSQL & ") values (" 

     STSQL = STSQL & varSi & "," 'SI_KEY 
     STSQL = STSQL & "'" & strINV_TYPE_selected & "'," 'INV_TYPE 
     STSQL = STSQL & "'" & lblMTI.Text & "'" & "," 'MTI_PART_NO 
     STSQL = STSQL & cboBuildNumber.Text & "," 'BUILD_NO 
     STSQL = STSQL & "'" & txtSerialNumber.Text & "'," 'SERIAL_NO 
     STSQL = STSQL & "'" & cboLocation.Text & "'," 'HOME_LOCATION 
     STSQL = STSQL & "'" & cboLocationSub.Text & "'," 'HOME_LOCATION_SUB 
     STSQL = STSQL & "'" & txtDescription.Text & "'," 'DESCRIPTION 
     STSQL = STSQL & "'" & ListBox1.SelectedValue & "'," 'CATEGORY 
     If chkConsumable.Checked Then 
      STSQL = STSQL & txtQuan.Text & "," 'QUANTITY 
      STSQL = STSQL & txtMin.Text & "," 'MIN_QTY 
      STSQL = STSQL & "1," 'CONSUMABLE 
     Else 
      STSQL = STSQL & "1," 'QUANTITY 
      STSQL = STSQL & "0," 'MIN_QTY 
      STSQL = STSQL & "0," 'CONSUMABLE 
     End If 
     STSQL = STSQL & "'" & txtCustomerPartNumber.Text & "'," 'CUST_PART_NO 
     STSQL = STSQL & "'" & txtUOM.Text & "'," 'UOM 
     STSQL = STSQL & "'" & txtWeight.Text & "'," 'WEIGHT 
     If chkScarp.Checked Then 
      STSQL = STSQL & "1," 'SCRAP_FLAG 
     Else 
      STSQL = STSQL & "0," 'SCRAP_FLAG 
     End If 
     Dim ctoDate As Date = lblNextCal.Text 
     STSQL = STSQL & "to_date('" & Format(ctoDate, "dd-MMMM-yyyy") & "','DD-MON-YYYY')," 
     STSQL = STSQL & txtCalInvdays.Text & "," 
     If chkElectrode.Checked Then 
      STSQL = STSQL & cboSizeOD.Text & "," 
      STSQL = STSQL & cboSizeID.Text & "," 
      STSQL = STSQL & cboSizeLength.Text & "," 
     Else 
      STSQL = STSQL & "NULL" & "," 
      STSQL = STSQL & "NULL" & "," 
      STSQL = STSQL & "NULL" & "," 
     End If 
     STSQL = STSQL & "'" & ImageID & "'" 'IMAGE_RESOURCE_ID 
     STSQL = STSQL & ")" 
+3

開始通過打開'選項Strict'然後使用SQL參數。 – Plutonix

+0

在最後設置一個斷點,調試'STSQL'來查看語法錯誤。 –

+0

在您的數據庫中,您必須檢查IMAGE_RESOURCE_ID的類型,並確定它是一個字符串而不是日期。此外,您是否檢查了[ImageID]的值以確保它不是空白並且不包含撇號? – tgolisch

回答

0

你已經錯過了逗號[,] SCRAP_FLAGNext_Cal之間的列值:

If chkScarp.Checked Then 
    STSQL = STSQL & "1," 'SCRAP_FLAG 
Else 
    STSQL = STSQL & "0," 'SCRAP_FLAG 
End If 
Dim ctoDate As Date = lblNextCal.Text 
STSQL = STSQL & "to_date('" & Format(ctoDate, "dd-MMMM-yyyy") & "','DD-MON-YYYY'),"