0

根据用户输入编译和构建动态 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>
4

1 回答 1

0

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

请参阅:如何在 MS Access 2003 中创建参数化查询并使用其他查询/表单来填充参数并获得结果集

于 2013-11-14T20:10:53.460 回答