2013-11-14 3 views
0

Каков наилучший способ скомпилировать и построить динамическую инструкцию SQL на основе пользовательского ввода.динамически генерирует инструкцию 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> 
+2

Для некоторых очевидных соображений безопасности, ** НИКОГДА НЕ ПИШИТЕ ЛЮБОЙ SQL ЗАПРОС НА ВАШЕМ JAVASCRIPT **. Любой пользователь может изменить javascript, поскольку он выполняется на стороне клиента. Кто-то может изменить ваш запрос, чтобы получить список пользователей и их пароль, например. – OlivierH

+0

Для этого это будет простое приложение HTA. Сотрудники здесь ограничены тем, что они знают. Предположим, что это безопасно. –

+0

Вы используете php в этом приложении? – OlivierH

ответ

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

Смежные вопросы