一个关于搜索的问题。望高手指教

tokilcoom 2004-12-20 09:36:19
我通过6个DropDownList分别获取 两对年月日。比方说获取的值分别是2004、11、10、2004、12、12

然后我想在数据库里面搜索。搜索在2004年11月10日到2004年12月12日中间的所有数据。

想知道如何把这6个数据转换成可以和日期比较的数据,怎么比较?越详细越好,越详细越感激。谢谢
...全文
166 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
tokilcoom 2004-12-22
  • 打赏
  • 举报
回复
请问高手 要想和access数据库里面的date()日期类型进行比较
应该把日期字符串转换成什么格式,应该怎么比较?
tokilcoom 2004-12-22
  • 打赏
  • 举报
回复
类似2004-1-1 0:00:00 这种日期格式应该转换成什么样的格式?ToLongDateString好像不行
谢谢
snoopywind 2004-12-22
  • 打赏
  • 举报
回复
你要用类型转换的,startDate.toshorttimestring
dim strSQL as string
strSQL="select * from yonghu where kd_date>'"& startDate.ToShortDateString&"' and kd_date<='"& endDate.ToShortDateString&"'"
tokilcoom 2004-12-22
  • 打赏
  • 举报
回复
标准表达式中数据类型不匹配。

kd_date是date()默认值 startDate和date()类型不匹配吗?

startDate的取值类似2004-1-1 0:00:00
snoopywind 2004-12-22
  • 打赏
  • 举报
回复
dim strSQL as string
strSQL="select * from yonghu where kd_date>'"& startDate &"' and kd_date<='"& endDate &"'"
(.net)执行查询
tokilcoom 2004-12-22
  • 打赏
  • 举报
回复
不是了 2004-1-1等是用户提交的
Select * From yonghu Where And kd_date >"+startDate+" And kd_date <="+endDate+"

startDate的值是2004-1-1
snoopywind 2004-12-22
  • 打赏
  • 举报
回复
你最好好好看看sql语法:)
snoopywind 2004-12-22
  • 打赏
  • 举报
回复
在数据库里的日期查询要价单引号的,比如:select * from xx where kd_date>'2004-1-1' and kd_date<='2005-1-1'
tokilcoom 2004-12-22
  • 打赏
  • 举报
回复
语法错误 (操作符丢失) 在查询表达式 And kd_date >2004-1-1 0:00:00 And kd_date <=2005-1-1 0:00:00 中。

kd_date是数据库字段名 不能这样比较吗?
2004-1-1 0:00:00 和2005-1-1 0:00:00 是用户提交的
殷切希望各位大虾帮忙
tokilcoom 2004-12-22
  • 打赏
  • 举报
回复
问题终于解决了,虽然不是各位大虾说的那样,但是还是感谢大家了,让你们费心了
tokilcoom 2004-12-21
  • 打赏
  • 举报
回复
哪位大哥帮帮我啊
tokilcoom 2004-12-21
  • 打赏
  • 举报
回复
别沉了
posemanboy 2004-12-21
  • 打赏
  • 举报
回复
tonybaobao(Tony宝宝) 他的方法试了没有
tokilcoom 2004-12-21
  • 打赏
  • 举报
回复
时间区间是从6个DropDownList获取的,然后分别组成了两个年月日时间
比方说2004-11-10和2004-12-12
数据库的时间是date()字段是kd_date
现在需要查询日期在这两个时间之间的数据信息
string startDate=n1+"-"+y1+"-"+r1;//获取年月日字符串
Convert.ToDateTime("startDate");//想把字符串转变成日期格式以便进行比较,但是出问题了

提示:该字符串未被识别为有效的日期时间。有一个从索引 0 处开始的未知字。
高手帮帮忙,谢谢了

Seeko0 2004-12-21
  • 打赏
  • 举报
回复
直接构造一个sqlstr进行查询,如:
//2004、11、10、2004、12、12

string sqlstr = string.Format("select * from tableName where 日期 between '{0}' and '{1}' ","2004-11-10","2004-12-12");
tokilcoom 2004-12-21
  • 打赏
  • 举报
回复
up 希望高手看见
tokilcoom 2004-12-21
  • 打赏
  • 举报
回复
string startDate=n1+"-"+y1+"-"+r1;
Convert.ToDateTime("startDate");//这句出了问题

该字符串未被识别为有效的日期时间。有一个从索引 0 处开始的未知字。
会是哪里出问题了呢?
slhuang 2004-12-20
  • 打赏
  • 举报
回复
string a = this.DropDownList1.SelectedItem.Text.Trim();
string b = this.DropDownList2.SelectedItem.Text.Trim();
string c= this.DropDownList3.SelectedItem.Text.Trim();
c = a +"-"+ b + "-" + c;
///Convert.ToDateTime(c).ToShortDateString();
string sqlstr = "select from table where starttime >" + c ;
pboy116 2004-12-20
  • 打赏
  • 举报
回复
string StartDateTime="2004-11-10";
string EndDateTime="2004-12-12";
stirng sSQL="Select * From Test Where FDateTime>="+StartDateTime+" AND FDateTime<"+
(Convert.ToDateTime(EndDateTime).AddDays(1)).ToString();



tonybaobao 2004-12-20
  • 打赏
  • 举报
回复
//构造
[C#]
public DateTime(
int year,
int month,
int day
);

DateTime startDate = new DateTime(yearStart,monthStart,dayStart);
DateTime endDate = new DateTime(yearEnd,monthEnd,dayEnd);

SQL语句:
SELECT * FROM TABLE WHERE DATECOLUMN >= @startDate AND DATECOLUMN <= @endDate;

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧