2017-05-04 79 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的变量的标签名称,它给了我这个例外 –