请教如下的ASP语句有什么问题呢

robish_hy 2009-07-30 10:15:42
大家好我的ASP查询经常遇到如下问题
Microsoft OLE DB Provider for ODBC Drivers (0x80040E31)
[Microsoft][ODBC SQL Server Driver]超时已过期
请大家帮忙看下是什么原因呢,万分感谢:以下是代码
<%
ms = Request.QueryString("ms")
if ms <>"" then
dim ms_num
Set ms_num=Server.CreateObject("adodb.recordset")
dim sql1981
sql1981="select mod_firm from NUM_to_Mobile where mobile='"&ms&"'"
ms_num.open sql1981, conn198,3,3
if ms_num.EOF then
Response.Write("没有查到该终端的数据类型")
else
dim no
no = ms_num("mod_firm")
Response.Write(no)
end if
%>
</p>
<p>
                     使用该终端的手机号码有<br>
<%
dim po
Set po=Server.CreateObject("adodb.recordset")
dim sql1982
sql1982="select phonenumber from no_to_imsi where '46003'++imsia in(select imsi from CDMA_1X_Data_V12 where CAST(ucmob_model AS VARCHAR(20)) + '-' + CAST(wMOB_FIRM_REV AS VARCHAR(20)) = '"&no&"')"
po.open sql1982, conn198,3,3
if po.EOF then
Response.Write("该终端在1周内无进行任何呼叫")
else
response.write "一共搜索到"&po.recordcount &"条记录"&"<br>"
do while not PO.eof
response.write po(0)&" <br>"
po.movenext
loop
end if
po.close
set po=nothing
end if
%>
</p>

我在服务器上用查询语句,能够得出结果
...全文
62 点赞 收藏 13
写回复
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
robish_hy 2009-08-27
查询速度过慢,除开在我的语句中改善外,还有在那些地方可以改善呢

这个语句在查询分析器里面的得出结果,只是时间比较长而已
回复
robish_hy 2009-07-30
运行到这里就不行了~~
就超时了
po.open sql1982, conn198,3,3
怎么办呢~~~~
回复
黑心 2009-07-30
其它

你可以把语句一步步的减化,再运行页面,看到底问题出在哪儿。
回复
黑心 2009-07-30
在顶前边加上:

Server.ScriptTimeout=99999
回复
robish_hy 2009-07-30
请问有人帮忙吗 ,我真的很急啊
回复
robish_hy 2009-07-30
要再所有的IMSIA 前面 加上46003 然后进行查询
回复
黑心 2009-07-30
sql1982="select phonenumber from no_to_imsi where '46003'++imsia in(select imsi from CDMA_1X_Data_V12 where CAST(ucmob_model AS VARCHAR(20)) + '-' + CAST(wMOB_FIRM_REV AS VARCHAR(20)) = '"&no&"')"


'46003'++imsia
这是啥玩意儿?
回复
robish_hy 2009-07-30
[Quote=引用 3 楼 fumingk 的回复:]
sql1981="select mod_firm  from NUM_to_Mobile where mobile="&ms
[/Quote]

有问题吗?
回复
fumingk 2009-07-30
sql1981="select mod_firm from NUM_to_Mobile where mobile="&ms
回复
robish_hy 2009-07-30
连接数据库的语言是这样子写的
<%
Dim conn198 '连接数据库
Set conn198 = CreateObject("ADODB.Connection")
conn198.ConnectionTimeout=99999
Dim strConn198
strConn198 ="driver={SQL server};server=133.37.128.198;uid=sa;pwd=asdf;database=ZXPOS_CNO_CDT_chengdu"
conn198.Open strConn198
%>
回复
hookee 2009-07-30
conn198关闭了吗?
conn198.close
set conn = nothing
回复
toury 2009-07-30
sql1982="select phonenumber from no_to_imsi where '46003'++imsia in(select imsi from CDMA_1X_Data_V12 where CAST(ucmob_model AS VARCHAR(20)) + '-' + CAST(wMOB_FIRM_REV AS VARCHAR(20)) = '"&no&"')"
response.write sql1982&"<br>"
打印出来看看什么问题。看不出来放查询器里走一下就知道了

where '46003'++imsia in是不是改为where ('46003'+imsia) in试一下
回复
黑心 2009-07-30
sql1982="select phonenumber from no_to_imsi where '46003'++imsia in(select imsi from CDMA_1X_Data_V12 where CAST(ucmob_model AS VARCHAR(20)) + '-' + CAST(wMOB_FIRM_REV AS VARCHAR(20)) = '"&no&"')"

问题找到了,还是这句sql1982,得优化语句。
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告