0

我正在尝试在我的网络服务中获取系统日期和时间。但我不确定该怎么做。

这是我的代码:

 public void InsertStudentTransaction(string Name, string CLass, string NRIC, string StallNo, string AmountSpent, DateTime Date)
     {
        using (SqlConnection conn = new SqlConnection(System.Configuration.ConfigurationManager.ConnectionStrings["nConnectionString2"].ConnectionString))
     {
        int StallNo1 = int.Parse(StallNo);
        float AmountSpent1 = float.Parse(AmountSpent);
        Date = DateTime.Now;

        SqlCommand command = new SqlCommand("INSERT Into StudentTransactions (Name, CLass,NRIC,StallNo,AmountSpent, TimeDate) VALUES (@Name, @CLass, @NRIC, @StallNo, @AmountSpent, @Date)", conn);

        command.Parameters.AddWithValue("@Name", Name);
        command.Parameters.AddWithValue("@CLass", CLass);
        command.Parameters.AddWithValue("@NRIC", NRIC);
        command.Parameters.AddWithValue("@StallNo",StallNo1);
        command.Parameters.AddWithValue("@AmountSpent", AmountSpent1);
        command.Parameters.AddWithValue("@TimeDate", Date);

        conn.Open();
        command.ExecuteNonQuery();
     }
  }
4

1 回答 1

1

从您的错误响应中,我认为问题不在于您的代码,而在于此方法的寻址。您可能正在尝试将字符串值解析为某种DateTime格式,有点像这样:

DateTime date = DateTime.Parse(dateAsString);

如果 dateAsString 变量不包含有效日期,则会抛出您描述的 ArgumentException。

您可以通过尝试找出您尝试解析的字符串日期有什么问题来解决此问题。很可能是导致问题的空字符串。为了帮助您找到麻烦制造者,请使用DateTime.TryParse抛出一个带有一些有用信息的新异常:

DateTime date;

if (!DateTime.TryParse(dateAsString, out date)
{
   throw new Exception("Invalid date: " + dateAsString);
}
于 2013-07-26T07:53:23.117 回答