c# 两个datetimepicker 控件,怎么写查询数据库的sql语言

我这样写了,为什么不对??DateTimedt1=Convert.ToDateTime(DateTimePicker1.Value);DateTimedt2=Conver... 我这样写了,为什么不对??
DateTime dt1= Convert.ToDateTime(DateTimePicker1.Value);
DateTime dt2=Convert.ToDateTime(DateTimePicker2.Value);
selectString="select * from table1 where [time] between dt1 and dt2";
其中time是日期/时间属性。
string query = "select * from table1 where time between '" + dateTimePicker1.Value.ToString("yyyy/MM/dd HH:mm;ss") + "' and '" + dateTimePicker2.Value.ToString("yyyy/MM/dd HH:mm;ss") + "'";
这样写也不对
展开
 我来答
beyondtiantian
2011-08-04
知道答主
回答量:25
采纳率:0%
帮助的人:23.9万
展开全部
string query = "select * from table1 where time between '" + dateTimePicker1.Value.ToString("yyyy/MM/dd HH:mm;ss") + "' and '" + dateTimePicker2.Value.ToString("yyyy/MM/dd HH:mm;ss") + "'";

PS:上面写法当然不对,between和and只能用于基本类型,比如说int等。
要进行时间比较,应该用数据库服务器提供的时间比较函数,比如说SQL Server中的
timediff(),详细用法请参考SQL Server用户手册。
追问
string time1 = dateTimePicker1.Value.ToString("yyyy/MM/dd HH:mm:ss");
string time2 = dateTimePicker2.Value.ToString("yyyy/MM/dd HH:mm:ss");

string query = "select * from table1 where time between #" + time1 + "# and #" + time2 + "#";
经过我的摸索,这样写可以。经过试验,可以达到目的。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式