asp读取SQL数据库问题

fledmarco 2009-08-28 12:12:54
BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。

程序员来是用access数据库的,改成SQL数据库后出现问题,程序如下
<%
Dim qtimex
qtimex = "1"
If (Request("qtime")<>"") Then
qtimex = Request("qtime")
End If
qtimexx=formatdatetime(qtimex,2)
%>
<!--#include file="connnsql.asp"-->
<%
exec = "select * from sj where qtime like '%" & qtimexx & "%'"
set rs=server.CreateObject("adodb.recordset")
rs.Open exec,conn,3,3 %>

-----------------------------
<%if rs.EOF and rs.BOF then
response.Write("暂时还没有数据")
else
Do While not rs.EOF%>
-----------------------------
<%rs.MoveNext
Loop
end if%>
-----------------------------
<%
rs.Close()
Set rs = Nothing
%>


我把数据库连接到access数据库,发现是正常的,一连到SQL就不行
...全文
241 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
fledmarco 2009-08-28
  • 打赏
  • 举报
回复
谢谢大家了,解决了
三楼の郎 2009-08-28
  • 打赏
  • 举报
回复
datetime类型不能用Like,用Datediff函数,比如:
exec = "select * from sj where datediff(day,qtime,'" & qtimexx & "')=0" 是查询qtime与输入日期同一天的记录
fledmarco 2009-08-28
  • 打赏
  • 举报
回复
我的时间是datatime类型,sql语句应该怎么写啊?我按其他条件select都可以查到数据,按照时间就是查不到数据,原来问题在这里
gxq323 2009-08-28
  • 打赏
  • 举报
回复
sql你肯定正确吗?查询分析器里面试过有记录?
fledmarco 2009-08-28
  • 打赏
  • 举报
回复
肯定有数据啊
Dadimamiilove 2009-08-28
  • 打赏
  • 举报
回复
你应该是数据库里面没有数据吧~~
fledmarco 2009-08-28
  • 打赏
  • 举报
回复
7楼、8楼兄弟的办法都试过了,错误提示还是一样,实在是郁闷了
gxq323 2009-08-28
  • 打赏
  • 举报
回复
在查询分析器里面赋值试试SQL有没有记录
hookee 2009-08-28
  • 打赏
  • 举报
回复
qtimexx = CDate(qtimex)
y = Year(qtimexx)
m = Month(qtimexx)
d = Day(qtimexx)

'按照需要的格式拼装成字符串
qtimexx = y & "-" & "m" & "-" & d
ayurep 2009-08-28
  • 打赏
  • 举报
回复
换一种sql连接看看


'sql数据库连接参数:数据库名、用户密码、用户名、连接名(本地用local,外地用IP)
Dim sql_databasename,sql_password,sql_username,sql_localname
sql_localname = "(local)"
sql_databasename = "WS_XLweststeel"
sql_username = "sa"
sql_password = "admin10"
connstr = "Provider = Sqloledb; User ID = " & sql_username & "; Password = " & sql_password & "; Initial Catalog = " & sql_databasename & "; Data Source = " & sql_localname & ";"
Set conn=Server.CreateObject("ADODB.connection")
conn.open connstr


fledmarco 2009-08-28
  • 打赏
  • 举报
回复
我把like改成=,提示字符串在转化成datatime格式是出错
fledmarco 2009-08-28
  • 打赏
  • 举报
回复
但里面确实有记录,而且同样的数据,用ACCESS数据库正常,我不知道是不是
exec = "select * from sj where qtime like '%" & qtimexx & "%'"
这句话写法在access和sql中有啥不同,特别是'%" & qtimexx & "%'
凡夫与俗子 2009-08-28
  • 打赏
  • 举报
回复
哦,应该说是查询得到的记录集为空。
凡夫与俗子 2009-08-28
  • 打赏
  • 举报
回复
提示语句不是很明白了?数据表内没有找到记录
fledmarco 2009-08-28
  • 打赏
  • 举报
回复
connnsql.asp代码
<%
Set Conn = Server.CreateObject("ADODB.Connection")
StrCnn = "Driver={SQL Server};Server=LENOVO-37311F3E;UID=sa;PWD=;Database=sj2"
Conn.Open StrCnn
%>

确实不提示哪行错误
gxq323 2009-08-28
  • 打赏
  • 举报
回复
看不出问题来,没说第几行,没连接数据库代码

28,406

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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