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



一段代码报错,半天的时间没有明白到底是为什么


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


一段代码报错,半天的时间没有明白到底是为什么
发表于:2007-01-02 17:28:41 楼主
.................................

<form   name= "form1 "   method= "post "   action= "report.asp "   >
<table   class=mainblock   cellspacing=0   cellpadding=0   width= "70% "   border=0   align= "center ">
<tr>
<td   colspan= "3 "   align= "right ">
公司名称
                        <select   name= "aa "   id= "companyname "   >
    <option   value= ' '> -------未选择------- </option>
                    <option   value= ' '> -------未选择------- </option>
    <option   value= ' '> -------未选择------- </option>
                        </select>
开始时间 <input   type= "text "   name= "startdate "     onfocus= "calendar() "   size= "10 "   > 结束时间 <input   type= "text "   name= "enddate "     onfocus= "calendar() "   size= "10 "   >
<input   name= "submit "   type= "submit "     value= "搜索 ">
</td>
</tr>
<%
companyname=trim(request( "companyname "))
stardate=trim(request( "startdate "))
enddate=trim(request( "enddate "))
set   conn   =   server.createobject( "adodb.connection ")
set   rs   =   server.createobject( "adodb.recordset ")
conn.open   connstr
sql= "report   "     &   companyname   &   startdate   &   enddate
rs.open   sql,conn,3,1  


..........................


日历控制是使用的梅花雪的,现在需要输入一个 "开始时间 ",一个 "结束时间 ",但现在如果输入公司名称和第一个日期查询会正常执行,不管输不输第一个日期还是公司名称,只要输入第二个日期,就会提示出错,出错信息如下:
microsoft   ole   db   provider   for   sql   server   错误   '80040e14 '  
第   1   行:   '- '   附近有语法错误。  

/1_zjreport.asp,行   67  

-------------------------------------
行67指的是上面的:
rs.open   sql,conn,3,1  

不清楚问题到底出在哪里,高手指点一下好吧?

发表于:2007-01-02 17:34:151楼 得分:0
把sql语写出来看看!!可能是时间的条件不对!
发表于:2007-01-03 01:03:252楼 得分:0
******************************************************
sql= "report   "     &   companyname   &   startdate   &   enddate
******************************************************

发表于:2007-01-03 08:18:363楼 得分:0
create   proc   report
@companyname   varchar(100)=null,
@startdate   datetime=null,
@enddate   datetime=null
as
begin
select   公司id,公司名称,sum(金额)   as   用款总额   from  

                                      select   *   from   v_xxx
                                      union   all
                                      select   *   from   xxx
)   t  
where   审批意见= '同意 '
and   公司名称=(case   when   @companyname   is   null   then   公司名称   else   @companyname   end)
and   请求时间> (case   when   @startdate   is   null   then   请求时间-1   else   @startdate   end)
and   请求时间 <(case   when   @enddate   is   null   then   请求时间+1   else   @enddate   end)
group   by   公司id,公司名称   order   by   公司id

end
go
发表于:2007-01-03 09:07:134楼 得分:0
高手看一下吧
发表于:2007-01-04 09:02:265楼 得分:0
fsdfsa
发表于:2007-01-04 09:08:286楼 得分:0
sql= "report   "     &   companyname   &   startdate   &   enddate
这后面的字符串前后导空格都没有了,能行吗?
companyname=trim(request( "companyname "))
stardate=trim(request( "startdate "))
enddate=trim(request( "enddate "))
全连在一起了,分开看看吧
发表于:2007-01-04 10:17:477楼 得分:0
companyname=trim(request( "companyname "))
stardate=trim(request( "startdate "))
enddate=trim(request( "enddate "))
全连在一起了,分开看看吧
?

没看太懂
发表于:2007-01-04 10:28:128楼 得分:0
该回复于2007-12-28 16:38:59被管理员或版主删除
发表于:2007-01-04 10:49:599楼 得分:0
sql= "report   "     &   companyname   &   startdate   &   enddate
回显一下sql看看是什么
response.write   sql
发表于:2007-01-04 11:15:0010楼 得分:0
report  


上面的就是回显的语句
发表于:2007-01-04 13:39:4311楼 得分:0
回显的   companyname   &   startdate   &   enddate   都是空白?
发表于:2007-01-04 13:44:4212楼 得分:0
对,都是空白的,这个时侯语句是可以执行的,但是如果输入参数,回显的还是这样,并且语句没有成功执行,如果我要是变成
sql= "report   "     &   " ' "   &companyname   & " ', ' "   &   startdate   &   " ', ' "   &   enddate   &   " ' "
这种,回显的是:
report   ' ', ' ', ' '
这时页面可以执行出来,可结果是空的,不是我想要的,如果任意一个参数为空,即   ' '   这种,执行都会出错!
发表于:2007-01-04 13:52:4113楼 得分:0
楼主的水平不合适写这样的程序啊,累人累己,就算给你段绝妙的代码,没准你也调试不好
发表于:2007-01-04 15:12:5514楼 得分:0
老大见笑了,本来我不是写程序的,没有办法,赶鸭子上架,只好一边学,一边请教,但老大所说,真让兄弟有点伤心了!
发表于:2007-01-04 15:48:5915楼 得分:0
没事,不要气馁,一开始都是这样的,没人理是经常的,因为还谈不上精通提问
发表于:2007-01-04 16:24:3616楼 得分:0
用request.qurystring()试试吧?
发表于:2007-01-04 16:33:0817楼 得分:0
出错错误提示是什么?或者弄个sql脚本,表和数据给我,我这儿先试试

----------
对,都是空白的,这个时侯语句是可以执行的,但是如果输入参数,回显的还是这样,并且语句没有成功执行,如果我要是变成
sql= "report   "     &   " ' "   &companyname   & " ', ' "   &   startdate   &   " ', ' "   &   enddate   &   " ' "
这种,回显的是:
report   ' ', ' ', ' '
这时页面可以执行出来,可结果是空的,不是我想要的,如果任意一个参数为空,即   ' '   这种,执行都会出错!
发表于:2007-01-05 16:12:5118楼 得分:0
解决了,谢谢楼上各位好朋友


快速检索

最新资讯
热门点击