0

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;
    }
}
4

2 に答える 2

2

これを試して:

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の場合、ユーザーはDBに存在します。

_______編集____ __ _ __ _ __ _ ___ _ _ _ _

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。

于 2013-02-27T14:52:23.190 に答える
0

代わりにcountメソッドを使用する必要があります

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

これにより、結果の数が返されます

0=0クライアント1=1クライアント2=2クライアント。。。

于 2013-02-27T15:04:04.097 に答える