Javascript 如何验证输入的发票号是否已存在,是否为我的sql表?
我有一个名为InvoiceNumber\u OnChange的函数,我试图在其中实现一些代码,这些代码允许我验证输入的发票号是否已经存在,是否是我的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
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会带来更多的安全问题。这正是我想知道的。