Csharp/C#教程:从C#到MySql格式的日期转换分享


从C#到MySql格式的日期转换

如何将C#datetime转换为MySql Datetime格式。 我从7/27/2011这种格式的文本框中获取价值。 但我想以2011-7-27的格式转换。 所以我在这里stuking。 请帮我。 我的目标是过滤两个日期之间的记录,并在asp.net的listview控件中显示。 这是我的代码:

DateTime dt1 = Convert.ToDateTime(txtToDate.Text); DateTime dt2 = Convert.ToDateTime(txtFromDate.Text); lvAlert.DataSource = facade.GetAlertsByDate(dt1, dt2); lvAlert.DataBind(); 

我没有将MySQL与.NET一起使用,但Oracle与.NET有类似的日期转换问题。 保持snae的唯一方法是使用日期值的参数,既用于输入,也用于WHERE子句比较。 使用MySQL日期参数类型创建的参数,只是给它一个.NET日期时间值,应该可以在不需要您进行转换的情况下工作。

编辑添加示例代码

此代码示例显示了使用DateTime值参数的基本技术,而不是将转换编码为文本值并将这些文本值直接嵌入SQL命令文本中。

 public DataTable GetAlertsByDate(DateTime start, DateTime end) { SqlConnection conn = new SqlConnection(connectionString); SqlCommand cmd = new SqlCommand( "SELECT * FROM Alerts WHERE EventTime BETWEEN @start AND @end", conn); DataTable table = new DataTable(); try { SqlParameter param; param = new SqlParameter("@start", SqlDbType.DateTime); param.Value = start; cmd.Parameters.Add(param); param = new SqlParameter("@end", SqlDbType.DateTime); param.Value = end; cmd.Parameters.Add(param); SqlDataAdapter da = new SqlDataAdapter(cmd); da.Fill(table); } finally { cmd.Dispose(); conn.Close(); conn.Dispose(); } return table; } 

这是SQL Server代码,但对于大多数数据库,该技术应该是相同的。 例如,对于Oracle,唯一的变化是使用Oracle数据访问对象,并在参数名称中使用“:”代替“@”。 MySQL的技术也应该非常相似。

对于许多数据库,可能存在用于创建参数的快捷方式,例如:

 cmd.Parameters.AddWithValue("@start", start); 

当您知道值不为null时,这可以正常工作,并且可以从值的C#类型派生正确的参数类型。 “AddWithValue”特定于SQL Server; “添加”也起作用,但在SQL Server中已经过时了。

希望这可以帮助。

您可以将格式分配给数据时间, DateTime.ParseExact()DateTime.ToString(format)

2011-7-27的格式是yyyy-m-dd

我用:

 string fieldate = dt1.ToString("yyyy-MM-dd"); 

假设您在数据库中执行此操作,我认为您应该使用date_format来获取所需的格式

date_format(dateval,'%Y-%c-%d') (未测试)

上述就是C#学习教程:从C#到MySql格式的日期转换分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1011123.html

(0)
上一篇 2021年12月29日
下一篇 2021年12月29日

精彩推荐