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

请教:ASP中怎样使函数值作为SQL查询的一个条件

guifuren 发布于 2011-10-26 14:53, 1103 次点击
自己写的代码如下:
<!--#include file="xyz.asp" -->
<script type="text/javascript" language="javascript">
<!--
function GetLocalIPAddress()
{
var obj = null;
var rslt = "";
try
{
obj = new ActiveXObject("rcbdyctl.Setting");
rslt = obj.GetIPAddress;
obj = null;
}
catch(e)
{
//异常发生
}

return rslt;
}
document.write("你的IP是:" + GetLocalIPAddress());
ip= GetLocalIPAddress();
//-->
</script>


<%
var conn = Server.CreateObject("ADODB.Connection");
conn.Open("driver={SQL Server};database=dm;server=127.0.0.1;uid=sa;pwd=123");

rs = conn.Execute( "select * from dm1 where a2='"+ip+"' " );
rsToTable (rs);
conn.close();

%>



10 回复
#2
cserwang2011-10-27 10:41
asp能获取的ip地址干嘛非要用js去获取ip再传给asp呢
#3
cnfarer2011-10-27 16:16
二楼说的对!不过有时确实需要从客户端传回数据,可以将数据通过JS代码放在一个隐藏域中,再用ASP代码取得
#4
guifuren2011-10-28 10:24
以下是引用cnfarer在2011-10-27 16:16:48的发言:

二楼说的对!不过有时确实需要从客户端传回数据,可以将数据通过JS代码放在一个隐藏域中,再用ASP代码取得
你好~我是新手,能否把ASP获取IP地址的代码发一下,想学习下。谢谢!
#5
guifuren2011-10-28 10:26
以下是引用cserwang在2011-10-27 10:41:48的发言:

asp能获取的ip地址干嘛非要用js去获取ip再传给asp呢
你好~我是新手,能否把ASP获取IP地址的代码发一下,想学习下。谢谢!
我是想通过获取到用户的IP,去调用SQL数据库用户。
#6
cserwang2011-10-28 15:13
回复 5楼 guifuren
程序代码:
<%
   
function getipadd()

         ipadd
=Request.ServerVariables("HTTP_X_FORWARDED_FOR")

         
if ipadd= "" Then ipadd=Request.ServerVariables("REMOTE_ADDR")

         getipadd
=ipadd

   
end function
%>
调用方法不用我说了吧
#7
guifuren2011-11-15 11:47
以下是引用cserwang在2011-10-28 15:13:51的发言:

 
调用方法不用我说了吧?
你好,非常感谢对我的帮助,前几天出门了,刚回来。调用方法能否赐教?谢谢!
#8
yms1232011-11-15 12:40
<!--#include file="xyz.asp" -->
<script type="text/javascript" language="javascript">
<!--
function GetLocalIPAddress()
{
var obj = null;
var rslt = "";
try
{
obj = new ActiveXObject("rcbdyctl.Setting");
rslt = obj.GetIPAddress;
obj = null;
}
catch(e)
{
//异常发生
}

return rslt;
}
document.write("你的IP是:" + GetLocalIPAddress());
ip= GetLocalIPAddress();
//-->
</script>


<%
    function getipadd()
    {
         var ipadd=Request.ServerVariables("HTTP_X_FORWARDED_FOR");

         if(ipadd=="")
            ipadd=Request.ServerVariables("REMOTE_ADDR");

         return ipadd;
    }
var conn = Server.CreateObject("ADODB.Connection");
conn.Open("driver={SQL Server};database=dm;server=127.0.0.1;uid=sa;pwd=123");

rs = conn.Execute( "select * from dm1 where a2='"+getipadd()+"' " );
rsToTable (rs);
conn.close();

%>
#9
guifuren2011-11-15 16:52
以下是引用yms123在2011-11-15 12:40:26的发言:

 
 
 
 
 
 
谢谢版主的热心帮助,我回来测试下。
#10
guifuren2011-11-17 10:29
以下是引用yms123在2011-11-15 12:40:26的发言:

 
 
 
 
 
 
<%
function rsToTable (rs)
{
    Response.write ("<table border=1>");
    Response.write ("<tr>");
   
    for (i=0; i<rs.Fields.Count; i++)
    {
        Response.Write ("<td>" + rs(i).Name  + "</td>");
        
    }
   
    Response.write ("</tr>");
    //rs.movefirst()(词句加上提示:ADODB.Field 错误 '80020009' BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个);
    if (!rs.Eof)
    {
        Response.write ("<tr>");
        for (i=0; i<rs.Fields.Count; i++)
        {
            Response.Write ("<td>" + rs(i) + "<
/td>");
            
        }
        Response.write ("</tr>");
        rs.movenext();
    }
        else
        {Response.write ("无记录");}
    Response.write ("</table>");

}
%>
还要请教下,现在我用你这段代码查询SQL数据库里的内容,现在只能查询到第一条,这是什么原因呢?谢谢!
#11
guifuren2011-11-21 11:42
以下是引用guifuren在2011-11-15 11:47:03的发言:

你好,非常感谢对我的帮助,前几天出门了,刚回来。调用方法能否赐教?谢谢!
<%
function rsToTable (rs)
{
    Response.write ("<table border=1>");
    Response.write ("<tr>");
   
    for (i=0; i<rs.Fields.Count; i++)
    {
        Response.Write ("<td>" + rs(i).Name  + "</td>");
        
    }
   
    Response.write ("</tr>");
    //rs.movefirst()(词句加上提示:ADODB.Field 错误 '80020009' BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个);
    if (!rs.Eof)
    {
        Response.write ("<tr>");
        for (i=0; i<rs.Fields.Count; i++)
        {
            Response.Write ("<td>" + rs(i) + "<
/td>");
            
        }
        Response.write ("</tr>");
        rs.movenext();
    }
        else
        {Response.write ("无记录");}
    Response.write ("</table>");

}
%>
还要请教下,现在我用你这段代码查询SQL数据库里的内容,现在只能查询到第一条,这是什么原因呢?谢谢!
1