注册 登录
编程论坛 ASP技术论坛

求助 能否同时连接2个不同数据库

ab382717036 发布于 2011-03-24 15:12, 807 次点击
一个简单的登录验证页面,不知道哪里出错了。麻烦各位帮忙看一下
con.asp
<%
  Dim SqlDataName,SqlUserPassword,SqlUserName,SqlLocalName,ConnStr
  SqlDataName="zpwang"
  SqlUserPassword="sa"
  SqlUserName="sa"
  SqlLocalName="127.0.0.1"
  ConnStr="Provider=Sqloledb;User ID="&SqlUserName&";PassWord="&SqlUserPassword&";Initial Catalog = " & SqlDataName & "; Data Source = " & SqlLocalName & ";"
  Set Conn=server.CreateObject("ADODB.Connection")
  
  Conn.open ConnStr
  
  if Err Then
    err.clear
    set Conn=nothing
    response.Write("数据库连接出错,请检查连接字串")
    response.End
    end if
   
    Dim webflag,rs
    Set rs=server.CreateObject("ADODB.Recordset")
      rs.open "select * from aaaa",Conn,3,2
      if rs.Eof or rs.Bof then
      webflag=rs("webflag")
      end if
      rs.close
%>

conn2.asp
<%
  Dim SqlDataName2,SqlUserPassword2,SqlUserName2,SqlLocalName2,ConnStr2
  SqlDataName2="wywang"
  SqlUserPassword2="wy"
  SqlUserName2="wy"
  SqlLocalName2="127.0.0.1"
  ConnStr2="Provider=Sqloledb;User ID="&SqlUserName2&";PassWord="&SqlUserPassword2&";Initial Catalog = " & SqlDataName2 & "; Data Source = " & SqlLocalName2 & ";"
  Set Conn2=server.CreateObject("ADODB.Connection")
  
  Conn2.open ConnStr2
  
  if Err Then
    err.clear
    set Conn2=nothing
    response.Write("数据库连接出错,请检查连接字串")
    response.End
    end if
   
    Dim webflag2,rs2
    Set rs2=server.CreateObject("ADODB.Recordset")
      rs2.open "select * from bbbb",Conn2,3,2
      if rs2.Eof or rs2.Bof then
      webflag2=rs2("webflag")
      end if
      rs2.close
%>
login.asp 这里代码没写全
<form action="login_check.asp" name="form1" method="post">
用户名:<input type="text" name="user" />
密码:<input type="password" name="pw"/>
<input type="submit" name="submit" value="登陆" />
</form>



login_check.asp
<!--#include file="Conn.asp"-->
<!--#include file="Conn2.asp"-->
<%
  user=replace(request.Form("user"),"'","''")
  pw=replace(request.Form("pw"),"'","''")
  Dim wfg
 if wfg=webflag then
  Set Rs=server.CreateObject("ADODB.Recordset")
  Dim sql
    sql="select * from test where username='"&user&"' and password='"&pw&"'"
    Rs.open sql,Conn,3,2
    if Rs.Eof Then
    response.Write("你好!!!")
    response.Write "你输入的密码错误"
    response.End
    Else
    response.Redirect"a.asp"
    End if
   
   
else
    if wfg=webflag2 then
       Dim sql2
       Set Rs2=server.CreateObject("ADODB.Recordset")
       sql2="select * from test where username='"&user&"' and password='"&pw&"'"
       Rs2.open sql2,Conn2,3,2
       if Rs2.Eof Then
    response.Write("我好")
    response.Write "你输入的密码错误"
    response.End
    Else
    response.Redirect"aaa.asp"
    End if
End if
end if   
%>
这里2个test表都是一样的
test
id   username  password
1      aaaa     bbbb
test
id    username  password
1      aabb    1111
aaaa表
id webflag
1     0
bbbb表
id  webflag
1     1
为什么连接不到第二个表的数据
我用username=aaaa  password=bbbb时能显示跳转的那个页面(登陆成功)  我用 username=aabb password=1111时  提示  “你好!!!
    你输入的密码错误"


[ 本帖最后由 ab382717036 于 2011-3-25 11:38 编辑 ]
15 回复
#2
ab3827170362011-03-25 08:08
又没人回答我的问题
#3
hams2011-03-25 08:10
检查一下自己提问题的方式

代码错了,错哪了,什么样的错误提示?这些基本的东西不说,放一大堆代码,谁这么有空一大早看你的代码?
#4
ab3827170362011-03-25 08:19
没有页面报错的,就是   
输入第一个表正确的用户名和密码 “提示你登陆成功”,输入第二个表正确的用户名和密码,输出的是第一个判断语句的信息  “你好 你输入的密码错误”
#5
ab3827170362011-03-25 09:12
求救求救
#6
hams2011-03-25 10:04
那个不是出错,是你的密码不对,自己检查一下输入的数据与数据库之间对比一下
#7
ab3827170362011-03-25 10:31
用户名密码都没错的,我输入的是第二个数据库表里的用户名和密码,但是他验证在第一个数据库(if这里)验证,根本就没跳到第二部(else那里)数据库验证
#8
loisangle2011-03-25 11:18
运行不了,怎么看
#9
ab3827170362011-03-25 11:28
我运行过了能行的
#10
ab3827170362011-03-25 13:51
顶一下
#11
ab3827170362011-03-25 14:53
在我老大的帮助下我终于解决了这个问题了
#12
hams2011-03-26 09:08
为什么同时要用两个库呢?打开了一个库是否要关闭才能打开另一个库,这个还不是很了解。
#13
ab3827170362011-03-26 09:17
比如一个信息表,他本来可以用一张表就可以的,但是由于某些需要,这张表的用户名和密码要用其它表里的用户名和密码代替,所以就要2张表了,至于要用2个数据库则是由于另一张表放在另一个数据库里,打开一个库是需要关闭才能打开另一个库
#14
ab3827170362011-03-26 16:02
response.Write("<a href='""&Session("UserType")&"/Index.asp"'><span style="font-size: 16px; color: #FF0000; font-weight: bold;">进入管理中心</span></a>")
错误类型:
Microsoft VBScript 编译器错误 (0x800A03EE)
缺少 ')'
/全能人才招聘系统asp.0602/Login_Check.asp, line 217, column 38
response.Write("<a href='"("&Session("UserType")&")/Index.asp"'><span style="font-size: 16px; color: #FF0000; font-weight: bold;">进入管理中心</span></a>")
这句话怎么写
#15
hams2011-03-28 08:22
response.Write("<a href='"&Session("UserType")&"/Index.asp"'><span style='font-size: 16px; color: #FF0000; font-weight: bold;'>进入管理中心</span></a>")
#16
ab3827170362011-03-28 10:52
纠正一下,打开同一个数据库是需要关闭这个数据库才能再打开的,但是你打开一个数据库再去打开另一个数据库是能行的。
例如:Rs.open "Select * from test where id=1",conn,1,1
      if Not Rs.Eof Then
      response.write("有记录")
      Esle
       Rs1.Open "Select * from test1 where id=1",conn1,1,1
      if Not Rs1.Eof Then
        response.write("有记录")
      Else
        response.write("没记录")
      End if
     Rs1.close
  End if
Rs.close
至于同一个数据库能不能用conn 和conn1 来实现上面的功能,我就没试过了。
1