【问题标题】:String was not recognized when i use datetime.parseexact()使用 datetime.parseexact() 时无法识别字符串
【发布时间】:2014-12-16 17:33:59
【问题描述】:

当我尝试在 sqlparameter 中输入日期时,它不断弹出字符串未被识别,我什至尝试使用ParseExact(),但它仍然显示错误。

我的 .aspx:

<asp:TextBox ID="txtfromdate" runat="server" Width="90px" Height="20px">
</asp:TextBox>
<cc1:CalendarExtender ID="calender1" runat="server" 
                      TargetControlID="txtfromdate" 
                      Format="dd/MM/yyyy">

aspx.cs:

SqlParameter[] prm = {      
    new SqlParameter("@ContractName",SqlDbType.NVarChar){Value=txtContractname.Text.Trim()},
    new SqlParameter("@FromDate",DateTime.ParseExact(txtfromdate.Text,"dd/MM/yyyy",null)),
    new SqlParameter("@ToDate",DateTime.ParseExact(txtToDate.Text,"dd/MM/yyyy",null)) ,
    new SqlParameter("@VenID",SqlDbType.Int){Value=Convert.ToInt32(ddlsupplier.SelectedValue)} ,
    new SqlParameter("@CreatedBy",SqlDbType.Int){Value=Convert.ToInt32(Session["UserID"])}, //chng
    new SqlParameter("@OrgID",SqlDbType.Int){Value=Convert.ToInt32(Session["orgID"])},
    new SqlParameter("@Termsnconditions",SqlDbType.NVarChar){Value=txtTermsandconditions.Text} ,
    new SqlParameter("@Module",SqlDbType.NVarChar){Value=ddlModule.SelectedValue} ,
    new SqlParameter("@Filename",SqlDbType.NVarChar){Value=ddlAttachment.SelectedValue} ,
    new SqlParameter("@Currency",SqlDbType.NVarChar){Value=ddlCurrency.SelectedItem.Text} ,
    new SqlParameter("@ContractNumber",SqlDbType.NVarChar){Value =txtContractNumber.Text.Trim()} 
   };

【问题讨论】:

  • 嗯...究竟哪一行出错了,输入值究竟是什么?
  • 在参数@from date 中,输入字符串是12/12/2012

标签: c# asp.net sqlparameter


【解决方案1】:

怀疑问题是服务器上安装的culture;自定义 DateTime 说明符中的 / 实际上并不代表 / - 它代表 DateSeparator。如果你真的希望它使用/,最简单的方法是明确指定invariant 文化;尝试简单地将null(在ParseExact)替换为CultureInfo.InvariantCulture。如果 that 仍然不起作用,那么我强烈怀疑传入的值不是 12/12/2012 - 例如,它可能包含空格或 unicode 隐藏字符。

【讨论】:

  • No thrz no whitespace or unicode 我使用了 trim() ,并且我使用了 CultureInfo.InvariantCulture 但它仍然显示错误,但是当我尝试在其他系统中运行这个程序时它工作正常,请帮忙!!!
  • @AkhilRJ 究竟在哪一行,究竟是哪一个输入,究竟有什么例外?
【解决方案2】:

这是由于您使用的 datrtime 格式。这取决于您的 SQL 数据库。尝试在不精确搜索的情况下打印以查看格式。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-02-17
    • 2018-05-10
    • 2019-02-18
    • 1970-01-01
    • 2020-12-18
    相关资源
    最近更新 更多