您的位置:程序门 -> web 开发 -> asp



菜鸟问一个简单的问题


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


菜鸟问一个简单的问题
发表于:2008-01-23 17:15:50 楼主
我想把当天的日期赋给一个变量,然后在查询的时候调用
我是这么写的
<%dim   riqi
riqi='date()'
%>
.
.
.
查询是这么写的   select   *   from   表   where   日期=riqi

这样运行不成功,请指点!
发表于:2008-01-23 17:19:201楼 得分:0
不能这样写的啊
你定义的参数riqi=date()
select       *       from       表       where       日期='riqi'  
试试

发表于:2008-01-23 17:21:042楼 得分:0
你的sql是在asp程序里面写的吗?
如果是的话,sql="select   *   from   table   where       日期='"&riqi&"'"  
发表于:2008-01-23 17:23:053楼 得分:0
我不在程序里面写的,用记录集里的sql
发表于:2008-01-23 17:27:034楼 得分:0
我按二楼说的试了一下
还是提示类型不匹配
发表于:2008-01-23 17:33:485楼 得分:0
ms-access:   select   *   from   表   where   日期=date()
发表于:2008-01-23 17:47:176楼 得分:0
是不是数据类型不对,我从表单的文本框里输入传过去也是提示类型错误
发表于:2008-01-23 17:49:527楼 得分:0
#"&riqi&"#
发表于:2008-01-23 18:13:418楼 得分:0
楼上的我试了也不行
发表于:2008-01-23 18:16:069楼 得分:0
你的是什么代码阿,把你的代码贴出来。写清楚数据库的类型
发表于:2008-01-23 18:23:3310楼 得分:0
5#就好了
----------------------
<%dim       riqi  
riqi= 'date() '  
%>  
date()是函数返回当天日期,赋值:riqi=date()
'是注释,你那样写什么都不是只会报错
----------------------
select   *   from   表   where   日期=riqi  
你的语句中riqi是表示列名,需要这样写:select   *   from   表   where   日期= '2008-1-23 '
在asp中给执行的语句sql赋值,riqi是变量,这样写:sql= "select   *   from   表   where   日期= ' "&   riqi   & " ' "
---------------------
程序调试中不对的地方往往有错误提示的,不要提问就说不行,贴出代码,和错误提示,更容易帮你解决问题.
发表于:2008-01-23 18:32:4611楼 得分:0
代码如下:
<%
dim   recordset1__mmcolparam
recordset1__mmcolparam   =   "1"
if   (request.form("开始日期")   <>   "")   then  
    recordset1__mmcolparam   =   request.form("开始日期")
end   if
%>
<%
dim   recordset1
dim   recordset1_numrows

set   recordset1   =   server.createobject("adodb.recordset")
recordset1.activeconnection   =   mm_dswl_string
recordset1.source   =   "select   *   from   客户投诉处理主表   where   日期   > =   '"   +   replace(recordset1__mmcolparam,   "'",   "''")   +   "'"
recordset1.cursortype   =   0
recordset1.cursorlocation   =   2
recordset1.locktype   =   1
recordset1.open()

recordset1_numrows   =   0
%>
发表于:2008-01-23 18:45:0812楼 得分:0
提示错误是“标准表达试中类型不匹配”
发表于:2008-01-23 21:01:2913楼 得分:0
recordset1.source       =       "select       *       from       客户投诉处理主表       where       日期       >   =       '"       +       replace(recordset1__mmcolparam,       "'",       "''")       +       "'"
改成
recordset1.source       =       "select       *       from       客户投诉处理主表       where       日期       >   =       #"       +       replace(recordset1__mmcolparam,       "'",       "''")       +       "#"
试试    
发表于:2008-01-24 08:07:3514楼 得分:0
没有那么复杂     你把数据库中的     字段类型改成     date的    
然后     select   *   from   table   where   字段   =   date()
就可以了  
发表于:2008-01-24 09:07:2315楼 得分:0
我也试了一下   13楼的办法,也不行
我的日期字段本来设的就是日期类型的啊
百思不得其解
发表于:2008-01-24 09:09:1216楼 得分:0
提示:microsoft   ole   db   provider   for   odbc   drivers   错误   '80040e07'  

[microsoft][odbc   microsoft   access   driver]   标准表达式中数据类型不匹配。  

/kftongjichaxun.asp,行20  
发表于:2008-01-24 09:29:5917楼 得分:0
楼主,先测试这样会不会出错:

sql code
select * fromwhere 日期=#2008-1-20#

发表于:2008-01-24 09:54:5818楼 得分:0
楼上的方法我已经试过了,可以
但是不知道怎么传递参数?
发表于:2008-01-24 10:00:5519楼 得分:0
html code
recordset1.source="select * from 客户投诉处理主表 where 日期>=#"&replacerecordset1__mmcolparam,"'","''")&"#"
发表于:2008-01-24 10:17:0320楼 得分:0
楼上的办法我也试了还是不行
我就是想从表单的文本框输入日期然后传过来,还有没有别的思路?
发表于:2008-01-24 10:27:4721楼 得分:0
那你先打印出replacerecordset1__mmcolparam看看:

response.write   "replacerecordset1__mmcolparam值为:"   &   replacerecordset1__mmcolparam
response.end
发表于:2008-01-24 10:48:3222楼 得分:0
也显示不出来
只显示"replacerecordset1__mmcolparam值为:"   没有我输入的日期
发表于:2008-01-24 10:59:1923楼 得分:0
我用这个 <%=recordset1__mmcolparam%> 可以显示出来我自己输入的日期
说明传递是没有问题的
发表于:2008-01-24 11:05:1024楼 得分:0
我刚才直接从上一楼复制来的,变量名写错了,不好意思。

你用这个   <%=recordset1__mmcolparam%>   可以显示,那说明确实没问题
发表于:2008-01-24 11:12:5125楼 得分:0
楼主你既然用 <%=recordset1__mmcolparam%> 能显示一个日期,这个   select   *     from     表     where     日期=#2008-1-20#   也能运行,那么你这样写:recordset1.source="select   *   from   客户投诉处理主表   where   日期> =#"   &   recordset1__mmcolparam   &   "#"   应该就行了吧?
发表于:2008-01-24 11:25:5526楼 得分:0
绝对是人品问题。总结完毕。
发表于:2008-01-24 11:28:0927楼 得分:0
传递没问题
但是我这样去调用变量就不行           select   *from   客户投诉处理主表   where   日期   =   'mmcolparam'
就提示   ”标准表达式中类型不匹配“
发表于:2008-01-24 12:47:4128楼 得分:0
你们都是高手了
我是来象大家学习的  
请大家多多指教
我这人很苯都还没玩过这些
现在在家呆着没事就来打发打发时间
谢谢了


快速检索

最新资讯
热门点击