C# 如何从datetime对象获取短日期格式

C# 如何从datetime对象获取短日期格式,c#,asp.net,C#,Asp.net,我使用AJAX日历扩展程序在文本框中捕获时间 字符串中的时间是12/10/2013,但当我将字符串指定给datetime对象时,它将转换为12/10/2013 12:00:00 AM 我想使用下面的查询使用日期来过滤数据库中的记录。请帮忙 string date1 = txtDate1.Text; DateTime date = DateTime.ParseExact(txtDate1.Text, "MM/dd/yyyy", System.Globalization.CultureInf

我使用AJAX日历扩展程序在文本框中捕获时间 字符串中的时间是12/10/2013,但当我将字符串指定给datetime对象时,它将转换为12/10/2013 12:00:00 AM

我想使用下面的查询使用日期来过滤数据库中的记录。请帮忙

string date1 = txtDate1.Text;

DateTime date = DateTime.ParseExact(txtDate1.Text, "MM/dd/yyyy", 

 System.Globalization.CultureInfo.InvariantCulture);
 string strQuery = "SELECT Story.UserName,Story.StoryId,COUNT(Likes.StoryID) AS         NumberOfOrders 
 FROM Likes LEFT JOIN Story ON Likes.StoryId=Story.StoryId and liked=" + date1 + "
 GROUP BY Story.StoryId,Story.UserName order by NumberOfOrders DESC ;";

可以使用Date对象代替DateTime对象

DateTime是一个整数,解释为表示DateTime的两部分,即日期和时间。DateTime中始终包含日期和时间

例:


可以使用Date对象代替DateTime对象

DateTime是一个整数,解释为表示DateTime的两部分,即日期和时间。DateTime中始终包含日期和时间

例:


在查询中以字符串形式传递日期通常不是一个好主意,因为您很可能会遇到格式问题——由您使用的框架决定最佳格式

在您的环境中,可以通过使用SqlParameters(例如


在编写原始SQL时使用参数的另一个重要原因是确保用户输入正确地经过sanatized,并且可以安全地传递到DB。如果不这样做,您可能会受到各种攻击,例如。

在查询中以字符串形式传递日期通常不是一个好主意,因为您很可能会遇到格式问题-由您使用的框架决定最佳格式

在您的环境中,可以通过使用SqlParameters(例如


在编写原始SQL时使用参数的另一个重要原因是确保用户输入正确地经过sanatized,并且可以安全地传递到DB。如果不这样做,您可能会受到各种攻击,例如。

数据库中喜欢的列的类型是什么?为什么说喜欢=+date1而不是喜欢=+date?你知道日期是你解析的变量,对吗?另外,您是否尝试过使用参数化SQL,它通常允许您跳过像这样枯燥的字符串转换。这里使用的日期在哪里?第二行的用途是什么?数据库中喜欢的列的类型是什么?为什么说喜欢=+date1而不是喜欢=+date?你知道日期是你解析的变量,对吗?另外,您是否尝试过使用参数化SQL,它通常允许您跳过像这样枯燥的字符串转换。这里使用的日期在哪里?第二行的目的是什么?
   DateTime.Now.ToString("MM/dd/yyyy");
DateTime date = DateTime.ParseExact(txtDate1.Text, "MM/dd/yyyy", CultureInfo.InvariantCulture);
string strQuery = "SELECT Story.UserName, Story.StoryId, COUNT(Likes.StoryID) AS NumberOfOrders 
    FROM Likes LEFT JOIN Story ON Likes.StoryId=Story.StoryId and liked=@dateTime
    GROUP BY Story.StoryId,Story.UserName order by NumberOfOrders DESC";

using (SqlConnection connection = new SqlConnection("..."))
{
    using (SqlCommand cmd = new SqlCommand(strQuery, connection))
    {
        cmd.Parameters.AddWithValue("@dateTime", date);
        connection.Open();
        SqlDataReader reader = cmd.ExecuteReader();
        ...
    }
}