我想在我的网络服务中获取系统日期和时间。但我不确定如何做到这一点。
这是我的代码:
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();
}
}
答案 0 :(得分: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);
}