sql server中的日期时间问题 [英] Problem in date time in sql server

查看:68
本文介绍了sql server中的日期时间问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

public DataSet OnlineSchool(string FirstDate, string SecondDate)
   {
       string querryString = "select ROW_NUMBER() over(order by OnlineID)as Srno, OnlineID, LoginSchool, LoginDate , LoginTime, LogoutTime, SchoolSignUpID FROM tblOnlineSchool WHERE (LoginDate BETWEEN CONVERT(datetime, '" + FirstDate + "', 103) AND CONVERT(datetime, '" + SecondDate + "', 103))";
       DataSet ds = new DataSet();
       SqlDataAdapter da = new SqlDataAdapter(querryString, con);
       da.Fill(ds);
       return ds;
   }



这是在选定日期之间给我一个学校信息。




This is returning me a school info between selected date.

public DataSet OnlineSchool(string FirstDate)
   {
       string querryString = "select OnlineID, LoginSchool, LoginDate, LoginTime, LogoutTime, SchoolSignUpID FROM tblOnlineSchool WHERE (LoginDate = CONVERT(DATETIME, '"+FirstDate+"', 103))";
       DataSet ds = new DataSet();
       SqlDataAdapter da = new SqlDataAdapter(querryString, con);
       da.Fill(ds);
       return ds;
   }





这给我一个空值。在这种情况下,我想获得该特定日期的信息。



This returning me a null value. In that case i want to get the info of that particular date.

推荐答案

1。

永远不要使用字符串连接来创建SQL查询。它打开你的SQL注入代码。使用参数化查询...



2.

你在谈论SQL 2005,所以你在谈论 datetime 数据类型......

BETWEEN X和Y 被翻译为 A> ; = X和A< = Y ,而 A = X A = X ...

如果 LoginDate 的时间部分与0不同,你将无法获得等式,但可以获得BETWEEN的行!
1.
Never ever use string concatenation to create your SQL query. It opens your code to SQL injection. Use parameterized queries...

2.
You are talking about SQL 2005, so your are talking about datetime data type...
A BETWEEN X and Y is translated to A >= X AND A <= Y, while A = X is A = X...
If LoginDate has a time part that different from 0 you will get nothing with equation but can get rows with BETWEEN!!!


像Convert(DateTime,LoginDate,103)一样写代替LoginDate并查看结果。
Write like Convert(DateTime,LoginDate,103) in place of LoginDate and see the result.


这篇关于sql server中的日期时间问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆