'No overload for method 'ToString' takes '1' arguments' error occur While Formatting Datetime Field To String ON “dd-MM-yyyy” format

前端 未结 1 1436
北荒
北荒 2020-12-15 18:33

I have been working on asp.net 3.5.I want to Convert a DateTime Data from sqldatareader to a String on \"dd-MM-yyyy\" Format. But when I use \"dd-MM-yyyy

相关标签:
1条回答
  • 2020-12-15 19:07

    You need to cast it to DateTime first:

    DateTime leave = (DateTime) rdMonthlyLeave["LEAVE_DATE"];
    DoSomethingWith(leave.ToString("dd-MM-yyyy"));
    

    or just

    ((DateTime)rdMonthlyLeave["LEAVE_DATE"]).ToString("dd-MM-yyyy")
    

    The return type of the DataReader indexer is just object, and object doesn't have an overload of ToString which takes a string. Don't forget that overloading is a compile-time decision - the compiler picks the appropriate method with a compatible signature, and only overriding occurs based on the execution-time type. In this case there is no overload of ToString with a compatible signature, so you get a compile-time error.

    0 讨论(0)
提交回复
热议问题