从一个in MSSQL '字段
本文关键字:MSSQL in 字段 TextBox 一个 asp | 更新日期: 2023-09-27 18:04:53
我真的很难从<asp:TextBox>
获取日期并将其存储在我的MSSQL数据库中的' date '类型字段中。目前,我的代码正在忽略我的文本框值,并存储当前日期。我希望有人能帮忙!
下面是我的代码,我像这样收集日期:
DateTime end = DateTime.Now;
end = Convert.ToDateTime(txtEndDate.Text);
然后这一行与我的查询一起使用,绑定参数。
AppendNews.Parameters.Add(new SqlParameter("@show_to", end));
只是出于兴趣,当我在本地主机上运行程序时,一切正常!
对
亚当尝试使用:
bool isDateValid = DateTime.TryParseExact(
txtEndDate.Text,"dd/MM/yyyy",
System.Globalization.CultureInfo.InvariantCulture,
DateTimeStyles.None,out end)
这将尝试使用定义的格式解析字符串,如果格式无效则返回false。
使用更强的错误检查DateTime.TryParse。你的DateTime可能没有被正确解析。
DateTime end;
if(!DateTime.TryParse(txtEndDate.Text, out end))
{
throw new FormatException("End Date must be in a valid format");
}
我会使用SqlParameterCollection。AddWithValue或指定您的SqlDbType
AppendNews.Parameters.AddWithValue("@show_to", end);
问题实际上是因为ASP服务器的文化与数据库服务器不匹配。要解决这一问题,必须在网络中设置文化。ASP项目的配置文件。这样做,作为<system.web>
包装器的一部分。
<globalization uiCulture="en-GB" culture="en-GB"/>
然后,当您从
中收集值时,您可以在脚本中通过这一行引用该值。DateTime dFrom = DateTime.ParseExact(txtDate.Text, "dd/MM/yyyy", CultureInfo.CurrentUICulture);
希望这对你有帮助!