在提交到存储过程参数之前转换为所需的日期格式

本文关键字:格式 日期 转换 提交 存储过程 参数 | 更新日期: 2023-09-27 18:13:38

在文本框中,用户输入日期的格式为dd/MM/yyyy。我将这个值发送给存储过程为:

cmd.Parameters.AddWithValue("@myDate", Convert.ToDateTime(txtMyDate.Text));

存储过程参数的类型为SmallDateTime。我想以dd/MM/yyyy格式传递上述代码值。如何在上述代码中指定格式,以确保SQL Server存储日期在dd/MM/yyyy格式?

在提交到存储过程参数之前转换为所需的日期格式

你的描述有点令人困惑:

如果存储过程的参数确实是SmallDataTime,那么它本质上没有格式。txtMyDate.Text似乎是一个字符串,因此有一个日期格式…你可以是本地化友好的,并保持你的代码,因为至少在一个普通的桌面应用程序,它会考虑到日期格式的系统设置。另一种选择是显式地硬编码格式,以便用户输入必须采用这种特定格式…这可以用DateTime.ParseExact ( txtMyDate.Text, "dd/MM/yyyy", CultureInfo.InvariantCulture )来完成。

MSDN引用:

  • http://msdn.microsoft.com/en-us/library/w2sa9yss.aspx
  • http://msdn.microsoft.com/en-us/library/8kb3ddd4.aspx
  • http://msdn.microsoft.com/en-us/library/ms182418.aspx
  • http://msdn.microsoft.com/en-us/library/ms180878.aspx