2017-05-04 76 views
-1

我想分析顯示在標籤的字符串值,然後用其他值沿着值插入到數據庫中的一個表..所以我有這個存儲過程該包含插入聲明和執行執行插入聲明最後我調用該方法在我的按鈕單擊事件執行插入方法,但它給了我一個異常消息「輸入字符串的格式不正確」的方法和一個提示是「解析字符串以便將每個變量放入日期時間對象之前的日期」解析字符串,DateTime類型時佈局從右至左

在按鈕單擊事件中調用此方法是:

DateTime billDateTime = DateTime.Parse(pBillDateLbl.Text); 
purchaseCashBill.InsertGeneralCashBillInfo(billDateTime, pBillUserNameTxt.Text, Convert.ToInt32(pBillCompCmbo.SelectedValue), pBillCompCmbo.SelectedText, Convert.ToDouble(pBillItmTtlPrice.Text), true); 

我也嘗試過使用這種方式也削字符串,但出現同樣的異常:

DateTime billDateTime = DateTime.ParseExact(
    pBillDateLbl.Text, 
    "d/M/yyyy hh:mm:ss", 
    System.Globalization.CultureInfo.CurrentCulture); 

和標籤的值是形式:

pBillDateLbl.Text = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"); 

出現這樣在我的應用程序:05:45:22 2017年5月4日

+0

'pBillDateLbl.Text'的值是什麼 – fubo

+0

什麼是您的輸入值(字符串)? –

+4

這聽起來像問題無關與SQL,而純粹是對解析 - 所以請提供[MCVE]可見,包括硬編碼輸入。在發佈之前執行診斷工作以將問題簡化爲最小示例非常重要:如果您從來沒有達到過像InsertGeneralCashBillInfo方法那麼與IMO無關。 –

回答

0

根據您在您的評論所提供的價值 - 05:43:34 04/05/2017,你可以清楚地看到你的格式字符串的順序是錯誤的。另外,它最後還包含一個額外的空間。試試這個:

DateTime billDateTime = DateTime.ParseExact(pBillDateLbl.Text, "hh:mm:ss dd/MM/yyyy", System.Globalization.CultureInfo.CurrentCulture); 
+0

它給了我一個例外「字符串未被識別爲有效的DateTime」。 –

+0

@MohammedShfq - 你使用了我在這個答案中提供的格式字符串嗎?代碼對我來說運行得很好。 –

+0

是的,我拿了它,我改變了x的變量的標籤名稱,它給了我這個例外 –