繁体   English   中英

使用Javascript检查数据库中是否存在记录

[英]Check if record exists in databse with Javascript

我正在尝试使用javascript检查记录是否存在(我知道这不是最安全的方法)但所有这些都是供内部使用,安全性不是问题。

所以我打开了一个记录集,

rs.Open("SELECT * FROM clie Where N_CLIENT =" + textbox1+ " AND C_POST_CLIENT = '" + textbox2+ "'",connection)

textbox1textbox2是我在clie表中查看的值,但首先我需要检查记录是否存在。 我尝试将rs.Open分配给变量然后将其与某些东西进行比较,但它不起作用

我尝试使用RecordCount但我一直保持-1。 我读过它不是为了那个,并且它不应该用于查找记录,所以必须有另一种方法来做到这一点。

更新_

这是我正在进行的整个功能

function RecordExists(textfield1, textfield2)
{
var connection = new ActiveXObject("ADODB.Connection") ;
    var connectionstring = "UID=admin;PWD=password";
    connection.Open(connectionstring);
    var rs = new ActiveXObject("ADODB.Recordset");
    var textbox1= new String();
    var textbox2=new String();
    textbox1= document.getElementById(textfield1).value;
    textbox2= document.getElementById(textfield2).value;

    var isEmpty=new String();

    rs.Open("SELECT count(*) as pers FROM clie HAVING N_CLIENT =" + textbox1+ " AND C_POST_CLIE = '" + textbox2+ "'",connection);

    alert(rs.recordcount);
    //alert(rs.fields(1));
    //isEmpty = rs.Open("pers");
    alert("Empty"+isEmpty);
    if(pers=0)
        alert("Record does not exist! pers="+pers);
    else if(pers=1)
        alert("Record exists! pers="+pers);
    else
        alert("not working");
    rs.close;
    connection.close;
    }
}

尝试这个:

rs.Open("SELECT count(1) as pers FROM clie Where N_CLIENT =" + textbox1+ " AND C_POST_CLIENT = '" + textbox2+ "'",connection)

您以这种方式检索pers字段:

perCounts = rs.('pers')

要么

perCounts = rs.("pers")

然后,如果perCounts = 0,则用户不存在....如果1,则用户存在于您的数据库中。

__ _ ____ 编辑 _ __ _ __ _ __ _ __ _ ___

function RecordExists(textfield1, textfield2)
{
var connection = new ActiveXObject("ADODB.Connection") ;
var connectionstring = "UID=admin;PWD=password";
connection.Open(connectionstring);
var rs = new ActiveXObject("ADODB.Recordset");
var textbox1= new String();
var textbox2=new String();
textbox1= document.getElementById(textfield1).value;
textbox2= document.getElementById(textfield2).value;

var isEmpty=new String();

rs.Open("SELECT count(*) as pers FROM clie HAVING N_CLIENT =" + textbox1+ " AND C_POST_CLIE = '" + textbox2+ "'",connection);

alert(rs.recordcount);

rs.MoveFirst();

perCounts = rs.Fields(0).Value;


if(perCounts=0)
    alert("Record does not exist! pers="+pers);
else if(perCounts=1)
    alert("Record exists! pers="+pers);
else
    alert("not working");
rs.close;
connection.close;
}
}

Saludos。

您应该使用count方法

rs.Open(“SELECT count(*)FROM clie Where N_CLIENT =”+ textbox1 +“AND C_POST_CLIENT ='”+ textbox2 +“'”,connection)

这将返回结果数

0 = 0客户端1 = 1客户端2 = 2个客户端。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM