2011-10-25 116 views
-6

我一直在爲這個錯誤奮鬥了幾天,現在我已經瀏覽了代碼,試圖找到一個我錯誤類型的實例,但沒有運氣。當點擊提交按鈕時,我得到「從字符串轉換」到鍵入「字節」無效「。所以我的想法是Data_Save函數中有錯誤。但我無法看到我的錯誤。任何幫助,將不勝感激。從字符串「」轉換爲「字節」類型無效

Protected Function Data_Save() As Boolean 
    Data_Save = False 
    Try 

     Dim newTable As New DemoOp_WebDataTable 
     Dim newRow As DemoOp_WebRow = newTable.NewRow() 

     newRow.DOW_FName = Me.txtFName.Text 
     newRow.DOW_LName = Me.txtLName.Text 
     newRow.DOW_Addr_1 = Me.txtAddr_1.Text 
     newRow.DOW_Addr_2 = Me.txtAddr_2.Text 
     newRow.DOW_City = Me.txtCity.Text 
     newRow.DOW_State = Me.ddState.SelectedValue.ToString 
     newRow.DOW_Zip = Me.txtZip.Text 
     newRow.DOW_Home_Phone = Me.txtHome_Phone.Text 
     newRow.DOW_Work_Phone = String.Empty 
     newRow.DOW_Cell_Phone = Me.txtCell_Phone.Text 
     newRow.DOW_Email = Me.txtEmail.Text 
     newRow.DOW_Dem_Exp = String.Empty 
     newRow.DOW_Wkd_Ret = String.Empty 
     newRow.DOW_Bilingual = String.Empty 
     newRow.DOW_Lang_Spk = String.Empty 
     newRow.DOW_Hrd_Store = Me.ddlOptQst12.SelectedItem.Value 
     newRow.DOW_StoreCode = Me.ddAd_Code.SelectedValue.ToString 
     newRow.DOW_In_Date = Now 
     newRow.DOW_18Plus = Me.rblnewqst1.SelectedValue 
     newRow.DOW_Transportation = Me.rblnewqst2.SelectedValue 
     newRow.DOW_AbleToStand = Me.rblnewqst3.SelectedValue 
     newRow.DOW_Internet = Me.rblnewqst4.SelectedValue 
     newRow.DOW_DirectDeposit = Me.rblnewqst5.SelectedValue 
     newRow.DOW_Experience = Me.rblnewqst6.SelectedValue 
     newRow.DOW_Outgoing = Me.rblnewqst7.SelectedValue 
     newRow.DOW_CulinarySkills = Me.rblnewqst8.SelectedValue 
     newRow.DOW_DemoWorkType = Me.ddlOptQst1.SelectedItem.Value 
     newRow.DOW_ReceiveTextMsgs = Me.rblOptQst2.SelectedValue 
     newRow.DOW_AgeCategory = Me.ddlOptQst3.SelectedItem.Value 
     newRow.DOW_ComputerSkill = Me.ddlOptQst4.SelectedItem.Value 
     newRow.DOW_CookingSkill = Me.ddlOptQst5.SelectedItem.Value 
     newRow.DOW_PhysicallyFit = Me.ddlOptQst6.SelectedItem.Value 
     newRow.DOW_AreasOfExp = GetCheckValues(chkOptQst7) 
     newRow.DOW_SpecialExpertise = GetCheckValues(chkOptQst8) 
     newRow.DOW_OtherLanguage = Me.ddlOptQst9.SelectedItem.Value 
     newRow.DOW_Felony = Me.rblnewqst11.SelectedValue 
     newRow.DOW_SOffender = Me.rblnewqst12.SelectedValue 
     newRow.DOW_ShopLift = Me.rblnewqst13.SelectedValue 
     newRow.DOW_FoodHandlers = Me.rblnewqst10.SelectedValue 
     newRow.DOW_OtherAgencies = GetCheckValues(chkOptQst10) 
     newRow.DOW_CookingAppliances = GetCheckValues(chkOptQst11)  
     newRow.DOW_Hrd_Store_Detail = Me.ddlOptQst13.SelectedItem.Value 


     Dim ta As DemoOp_WebTableAdapter = New DemoOp_WebTableAdapter 

     'ta.Insert(newRow.DOW_FName, newRow.DOW_LName, newRow.DOW_Addr_1, newRow.DOW_Addr_2, newRow.DOW_City, _ 
     ' newRow.DOW_State, newRow.DOW_Zip, newRow.DOW_Home_Phone, newRow.DOW_Work_Phone, newRow.DOW_Cell_Phone, _ 
     ' newRow.DOW_Email, newRow.DOW_Dem_Exp, newRow.DOW_Wkd_Ret, newRow.DOW_Bilingual, newRow.DOW_Lang_Spk, _ 
     ' newRow.DOW_Hrd_Store, newRow.DOW_Hrd_Store_Detail, newRow.DOW_StoreCode, newRow.DOW_18Plus, newRow.DOW_Transportation, _ 
     ' newRow.DOW_AbleToStand, newRow.DOW_Internet, newRow.DOW_DirectDeposit, newRow.DOW_Felony, newRow.DOW_SOffender, newRow.DOW_ShopLift, newRow.DOW_Experience, _ 
     ' newRow.DOW_Outgoing, newRow.DOW_CulinarySkills, newRow.DOW_FoodHandlers, newRow.DOW_DemoWorkType, newRow.DOW_ReceiveTextMsgs, _ 
     ' newRow.DOW_AgeCategory, newRow.DOW_ComputerSkill, newRow.DOW_CookingSkill, newRow.DOW_PhysicallyFit, _ 
     ' newRow.DOW_AreasOfExp, newRow.DOW_SpecialExpertise, newRow.DOW_OtherAgencies, newRow.DOW_CookingAppliances, newRow.DOW_OtherLanguage) 

     ta.Insert(newRow.DOW_FName, newRow.DOW_LName, newRow.DOW_Addr_1, newRow.DOW_Addr_2, newRow.DOW_City, _ 
         newRow.DOW_State, newRow.DOW_Zip, newRow.DOW_Home_Phone, newRow.DOW_Work_Phone, newRow.DOW_Cell_Phone, _ 
         newRow.DOW_Email, newRow.DOW_Dem_Exp, newRow.DOW_Wkd_Ret, newRow.DOW_Bilingual, newRow.DOW_Lang_Spk, _ 
         newRow.DOW_Hrd_Store, newRow.DOW_StoreCode, newRow.DOW_18Plus, newRow.DOW_Transportation, _ 
         newRow.DOW_AbleToStand, newRow.DOW_Internet, newRow.DOW_DirectDeposit, newRow.DOW_Experience, _ 
         newRow.DOW_Outgoing, newRow.DOW_CulinarySkills, newRow.DOW_DemoWorkType, newRow.DOW_ReceiveTextMsgs, _ 
         newRow.DOW_AgeCategory, newRow.DOW_ComputerSkill, newRow.DOW_CookingSkill, newRow.DOW_PhysicallyFit, _ 
         newRow.DOW_AreasOfExp, newRow.DOW_SpecialExpertise, newRow.DOW_OtherLanguage, newRow.DOW_Felony, newRow.DOW_SOffender, newRow.DOW_ShopLift, newRow.DOW_FoodHandlers, newRow.DOW_OtherAgencies, newRow.DOW_CookingAppliances, newRow.DOW_Hrd_Store_Detail) 

     Data_Save = True 

    Catch ex As ApplicationException 
     Me.lblErrMessage.Text = ex.InnerException.ToString 
    End Try 

End Function 

Protected Function GetCheckValues(ByVal chklst As CheckBoxList) As String 
    GetCheckValues = String.Empty 

    Dim i As Integer 
    Dim sb As StringBuilder = New StringBuilder() 
    For i = 0 To chklst.Items.Count - 1 
     If chklst.Items(i).Selected Then 
      sb.Append(chklst.Items(i).Value & ",") 
     End If 
    Next 
    'remove the last comma in sb 
    If sb.Length > 0 Then 
     Dim InputValue As String 
     InputValue = Left(sb.ToString(), Len(sb.ToString()) - 1) 
     GetCheckValues = InputValue 
    End If 

End Function 

Protected Sub Reset_Controls() 
    btnSubmit.Visible = False 
    btnCancel.Visible = False 
    btnBack.Visible = True 

    txtFName.Enabled = False 
    txtLName.Enabled = False 
    txtAddr_1.Enabled = False 
    txtAddr_2.Enabled = False 
    txtCity.Enabled = False 
    ddState.Enabled = False 
    txtZip.Enabled = False 
    txtHome_Phone.Enabled = False 
    txtCell_Phone.Enabled = False 
    txtEmail.Enabled = False 
    ddlOptQst12.Enabled = False 
    ddlOptQst13.Enabled = False 
    ddStoreCode.Enabled = False 

    rblnewqst1.Enabled = False 
    rblnewqst2.Enabled = False 
    rblnewqst3.Enabled = False 
    rblnewqst4.Enabled = False 
    rblnewqst5.Enabled = False 
    rblnewqst6.Enabled = False 
    rblnewqst7.Enabled = False 
    rblnewqst8.Enabled = False 
    rblnewqst10.Enabled = False 
    rblnewqst11.Enabled = False 
    rblnewqst12.Enabled = False 
    rblnewqst13.Enabled = False 
    ddlOptQst1.Enabled = False 
    rblOptQst2.Enabled = False 
    ddlOptQst3.Enabled = False 
    ddlOptQst4.Enabled = False 
    ddlOptQst5.Enabled = False 
    ddlOptQst6.Enabled = False 
    chkOptQst7.Enabled = False 
    chkOptQst8.Enabled = False 
    ddlOptQst9.Enabled = False 
    chkOptQst10.Enabled = False 
    chkOptQst11.Enabled = False 

End Sub 

Protected Sub btnOKMsg_Click(ByVal sender As Object, ByVal e As System.EventArgs) 
    If Data_Save() Then 
     lblErrMessage.Text = "Your information has been submitted!" 
    Else 
     lblErrMessage.Text = "Error occurred while saving your entry. Click on 'Back' to return to main page." 
    End If 
    'Reset_Controls() 
    ModalPopupExtender1.Hide() 
End Sub 

Protected Sub btnCancelMsg_Click(ByVal sender As Object, ByVal e As System.EventArgs) 
    lblErrMessage.Text = "Your information was previously submitted." 
    ModalPopupExtender1.Hide() 
End Sub 

末級

+3

刪除你的整個代碼,並問:「出了什麼問題」不是一般的這種工作方式。 –

+0

錯誤在第13行。serously,哪裏是違規行?什麼與所有的代碼?我們應該怎麼知道要檢查什麼? – gbianchi

+2

發生異常的地方在哪裏? –

回答

2

這裏有一對夫婦的建議,讓您開始:

  • 在項目中選擇啓用「選項嚴格」和修復你可以得到任何錯誤。這將幫助您確定您嘗試使用空字符串設置字節值的位置。
  • 刪除所有帶有空捕獲部分的try-catch語句。
  • 清理代碼,並刪除與您的問題無關的部分。
  • 其中發生異常和異常的詳細信息告訴我們...
+0

感謝您的建議,我會實施您的所有建議。希望得到一個更好,更簡潔的問題。 – FluxEngine

相關問題