2016-08-03 9 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

スタート。 – Plutonix

+0

最後にブレークポイントを設定し、デバッグし、構文エラーのために 'STSQL'を調べます。 –

+0

DBでは、IMAGE_RESOURCE_IDのタイプをチェックしていて、それが日付ではなく文字列であることが確実です。また、[ImageID]の値をチェックして空白ではなく、アポストロフィが含まれていないことを確認しましたか? – tgolisch

答えて

0

あなたが見逃しているカンマ[、] SCRAP_FLAG間とNext_Cal列の値:オプションStrict`はその後、SQLパラメータを使用し `をオンにして

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'),"