DELPHI SQLSERVER关于日期的问题(30分)

  • 主题发起人 痴痴书生
  • 开始时间

痴痴书生

Unregistered / Unconfirmed
GUEST, unregistred user!
LISTBOX1内放的是日期,当我点日期的时候,该语句为什么总不不能为真?
if ADOTable3.Locate('服务时间',ListBox1.Items[ListBox1.ItemIndex] ,[loPartialKey]) then
数据库中确有和我选 择的时期相同的数据
 
?????为何?无人回答?
 
strtodate(Listbox1.items[listbox1.itemindex])
 
试了,这种上不行呀
 
[loCaseInsensitive,loPartialkey]
 
搞什么呀,富翁呢,哪去了,再简单也得说一下呀
 
为什么没有人回答呢,分少了,我可以再加些,但我自己也就100多分了,哪位兄弟,帮帮我,急急!!!
 
大富翁,你们都在忙什么呢
 
一定要ADOTABLE吗?用ADOQUERY可以吗?
 
当然可以了,你能个解决方案好吗?
 
日期格式不对,建议FORMAT('YYYY-MM-DD',[Listbox1.items[listbox1.itemindex]])
**********换成你系统的格式
如:
if ADOTable3.Locate('服务时间',FORMAT('YYYY-MM-DD',[Listbox1.items[listbox1.itemindex]]),[loPartialKey]) then
 
谢谢,了试试看
 
可用
FormatDatetime('YYYY-MM-DD',strtodatetime(Listbox1.items[listbox1.itemindex]))格式化日期。
然后再用Locate查詢。

if ADOTable3.Locate('服务时间',FormatDatetime('YYYY-MM-DD',strtodatetime(Listbox1.items[listbox1.itemindex])),[loPartialKey]) then
.....
不妨試一下。
 
还是不行呀,怎么回事呢,想不通了
 
是呀,不行呀
 
不会吧,贴一下你的记录?
 
if ADOTable3.Locate('服务时间',FormatDatetime('YYYY-MM-DD',strtodatetime(Listbox1.items[listbox1.itemindex])),[loPartialKey]) then
showmessage(ListBox1.Items[ListBox1.ItemIndex]+datetostr (ADOTable3['服务时间']))
else
showmessage('不成功!');
 
ADOTable3.Locate('服务时间',ListBox1.Items[ListBox1.ItemIndex] ,[loCaseInsensitive,loPartialKey])
 
你贴的是CODE,贴一条记录。RECORD。。。
 
在SQL Server中存放的为DateTime,例如:2002-02-26 14:31.146是带时间的。
你用SQL 的Query Analyzer把数据调出来看看,而用2002-02-26实际上是
2002-02-26 0:00.000用=是不能判断的,在从SQL server中调数据时,需要转换一下,
去掉时间,或你在加入记录时不要使用SQL的Getdate()来获取时间,而用FormatDateTime
把日期格式化
 
顶部