高分求救

josserchai 2002-06-19 07:43:17
用下面两种方式连接数据时,出现问题

1:用libary.udl文件方式 联接数据库函数为:

<%
'其中library.udl中放的是数据库的连接信息
function connect_db()
Set Conn = Server.CreateObject( "ADODB.Connection" )
Conn.Open "FILE NAME=E:\web\library\library.UDL"
connect_db=Conn
end function
%>

2:用以下方式联接
<%
function connect_db()
sqls = "Driver={SQL Server};
Server=192.168.0.102;
uid=library;
pwd=library;database=library"
Set conn = Server.CreateObject( "ADODB.Connection" )
conn.open sqls
connect_db=conn
end function
%>

结果在第一种方式时,在其它文件中调用connect_db()后
再调用SQL server上的存储过程时可以正常返回值。

用第二种方式调用connect_db()后
再调用SQL server上的存储过程却不能返回值正常值。

调用荐储过程的文件为:
Set CMD = Server.CreateObject( "ADODB.Command" )
Conn = connect_db()
CMD.ActiveConnection = Conn
CMD.CommandType = adCmdStoredProc
CMD.CommandText = "checkUser"

CMD.Parameters.Append CMD.CreateParameter( "returnStatus",adInteger, adParamReturnValue )
CMD.Parameters.Append CMD.CreateParameter( "username",adVarChar, adParamInput, 20, username )
CMD.Parameters.Append CMD.CreateParameter( "password",adVarChar, adParamInput, 20, password )
set RS=CMD.Execute
returnStatus = cINT( CMD( "returnStatus" ) )
CMD.ActiveConnection = Nothing
SET CMD = Nothing
response.write returnStatus
response.end

SQL Server上的存储过程为:

CREATE procedure checkUser
(
@username varchar(20),
@password varchar(20)
)
AS
if not exists( select login from userinfo where login = @username and password = @password and status = 0 )
begin
return( 20 )
end
else
begin
return( 10 )
end

用第一种方式时输出10
用第二种方式时输出0
请问高手是什么原因?
很急,请帮我,一定给分!!!!!!!急!!!!!!!!!!!


另:
如何用ASP获得服务器上的某个文件在服务器上的绝对路径?????

急!!!!!!!!!!!
...全文
39 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
josserchai 2002-06-20
  • 打赏
  • 举报
回复
己经搞定:

sqls=一句改为:
sql_string = "Provider=SQLOLEDB;Server=localhost;uid=library;pwd=library;database=library"
即可
josserchai 2002-06-20
  • 打赏
  • 举报
回复
不行,依旧如此,请大家都来看看呀!

难道没有高手知道这个问题吗?

急急................

小弟一定给分....................
wangfei2428 2002-06-20
  • 打赏
  • 举报
回复
CMD.Parameters.Append CMD.CreateParameter( "returnStatus",adInteger,adParamReturnValue,4)
CMD.Parameters.Append CMD.CreateParameter( "@username",adVarChar, adParamInput, 20, username )
CMD.Parameters.Append CMD.CreateParameter( "@password",adVarChar, adParamInput, 20, password )

试试
josserchai 2002-06-20
  • 打赏
  • 举报
回复
第一个问题,急..............................

急.......................
请高手指点........................
用第二种方式时,可以用
CMD.Execute("select .............")
方式直接在程序文件中调用,但却不能调用
存储过程,请指教...............................急!!!
bushido 2002-06-19
  • 打赏
  • 举报
回复
何用ASP获得服务器上的某个文件在服务器上的绝对路径:
server.mapPath("xxx.mdb")

28,391

社区成员

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

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