根据用户表单输入动态生成SQL语句

时间:2013-11-14 19:37:08

标签: javascript

根据用户输入编译和构建动态SQL语句的最佳方法是什么。

我看到它的方式是一堆if语句通过使用.length>检查每个字段中的每个字段是否包含任何数据。 0方法。

我不认为这是实现这一目标的最有效方法。这种疯狂还有另一种方法吗?

<!DOCTYPE html>

<html>

<head>

<script type="text/javascript">
function test() {

var sql = "SELECT * FROM tbl_imts WHERE"

var date1 = document.getElementById('date1').value
var action = document.getElementById('action').value
var date2 = document.getElementById('date2').value
var reqtype = document.getElementById('reqtype').value
var status = document.getElementById('status').value
var assignto = document.getElementById('assignto').value


}
</script>
</head>
<body>
<table border="1" cellspacing="1" width="100" id="table1">
    <tr>
        <td>Date Received</td>
        <td>Action Required</td>
        <td>Due Date</td>
    </tr>
    <tr>
        <td><input type="text" id="date1"/></td>
        <td><input type="text" id="action"/></td>
        <td><input type="text" id="date2"/></td>
    </tr>
    <tr>
        <td>Request Type</td>
        <td>Status</td>
        <td>Assigned to</td>
    </tr>
    <tr>
        <td><input type="text" id="reqtype"/></td>
        <td><input type="text" id="status"/></td>
        <td><input type="text" id="assignto"/></td>
    </tr>
</table>
<br>
<input type="button" value="test it" onclick="test()"/>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

您需要使用查询参数,否则您很容易受到SQL注入攻击。永远不要相信客户。任何心怀不满的员工都可能对您的数据造成严重损害。

请参阅:How do you create a parameterized query in MS Access 2003 and use other queries/forms to fill the parameters and obtain a resultset