Javascript 如何验证输入的发票号是否已存在,是否为我的sql表?

Javascript 如何验证输入的发票号是否已存在,是否为我的sql表?,javascript,jquery,sql,tsql,Javascript,Jquery,Sql,Tsql,我有一个名为InvoiceNumber\u OnChange的函数,我试图在其中实现一些代码,这些代码允许我验证输入的发票号是否已经存在,是否是我的sql表。这是我到目前为止所拥有的 function InvoiceNumber_OnChange() { var invoice = $("#InvoiceNumber").val(); var Sql1 = null; if (invoice != "") { Sql1 = "SELECT [DocumentNum

我有一个名为InvoiceNumber\u OnChange的函数,我试图在其中实现一些代码,这些代码允许我验证输入的发票号是否已经存在,是否是我的sql表。这是我到目前为止所拥有的

function InvoiceNumber_OnChange()
{ 
  var invoice = $("#InvoiceNumber").val();
  var Sql1 = null;

  if (invoice != "")
  {
      Sql1 = "SELECT [DocumentNumber] FROM [DYNAMICS].[dbo].[AP_Invoice_Table] 
      WHERE DocumentNumber = '" + invoice +"'";

      if (Sql1) 
      {
        CSClient.alert("Invoice number already exist, please check your entry!")
        return false;
      }
      else return true;
     }

}
这不起作用,因为这不是获取sql查询值的正确形式。我不知道怎么做。如果找到发票,我希望该查询返回true或false或其他信息,这样我就可以根据存储在SQL1变量上的值输入if语句

有人能帮我写下丢失的代码吗?

尝试使用[DYNAMICS].[dbo].[AP\U Invoice\U Table]中的SELECT COUNT* 其中DocumentNumber='+发票+'


如果返回0,则值已经存在。

小心,在SELECT语句中,看起来你正在打开SQL注入攻击向量。

这里我会格外小心。目前,InvoiceNumber元素很容易受到SQL注入攻击。请阅读并保护您自己。此表单将在intranet中工作,除非已在网络上注册,否则任何人都无权访问我执行此操作Sql1=从[DYNAMICS].[dbo].[AP_Invoice_Table]中选择计数*,其中DocumentNumber='+Invoice+';但这并没有返回一个数值,它返回了整个sql语句,可能我做错了什么,或者错过了一个步骤,你需要实际执行你的查询。您最好使用PHP、.NET等。正如前面指出的,您已经将自己暴露在SQL注入中了。使用Javascript会带来更多的安全问题。这正是我想知道的。