Asp classic 使用经典asp插入多个记录

Asp classic 使用经典asp插入多个记录,asp-classic,Asp Classic,在我正在开发的网站上,用户可以使用jQuery插件添加多个表单字段 但是如何将这些多条记录插入数据库 SQL = "INSERT INTO sehirler (memberid, sehiradi, sehirkodu, dateENTERED) VALUES ('"& Session("MEMBERID") &"', '"& sehiradi &"', '"& sehirkodu &"', '"& NOW() &"')"

在我正在开发的网站上,用户可以使用jQuery插件添加多个表单字段

但是如何将这些多条记录插入数据库

    SQL = "INSERT INTO sehirler (memberid, sehiradi, sehirkodu, dateENTERED) VALUES ('"& Session("MEMBERID") &"', '"& sehiradi &"', '"& sehirkodu &"',  '"& NOW() &"')"
    Set objSehirEkle = objConn.execute(SQL)

您可以一次执行多个SQL语句,并用分号链接它们:

SQL = "INSERT INTO MyTable (Field1, Field2) VALUES ('name1', 1);" & _
      "INSERT INTO MyTable (Field1, Field2) VALUES ('name2', 2);"
Set objSehirEkle = objConn.execute(SQL)
现在,如果您想对返回的记录集objSehirEkle执行某些操作,您只引用第一条语句。您可以使用NextRecordset方法访问以下语句的结果,如下所示:

Set objNext = objSehirEkle.NextRecordset

这就是如何在一个insert语句中插入多个集合,而不是说明正在使用哪个数据库和版本;我相信SQL Server 2008及以上版本和MySQL支持以下语法:

INSERT 
  INTO Table ( Col1, Col2, Col3 ) 
  VALUES
    ( Value1, Value2, Value3 ), 
    ( Value4, Value5, Value6 ), 
    ( Value7, Value8, Value9 )

但正如其他人所说,首先要注意SQL注入暴露。

如果使用jQuery插件插入许多字段,则必须在asp页面中控制这些字段。 我模拟了一种情况,即通过选择字段创建许多输入字段。我设置了一个隐藏字段来控制我在页面上创建的元素数量。必须通过此字段才能提交asp页面表单。 尝试执行此HTML页面:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">    
    <title>Creating input fields</title>
    <script src="http://code.jquery.com/jquery-2.0.1.min.js"></script>
    <script>
      $().ready(function(){
        $('#branches').change(function(){
          var nCounter = 0;
          var nr_branches = $('#branches').val();

          //-- Cleaning all elements
          var $divB = $('#divBranches');                    

          if (!$('#divBranches').is(':empty')){            
            while($divB.children('input').length >= 1) {
              $divB.children("input:first").remove();
            }                                    
          }          

          while(nCounter < nr_branches) {
            //-- Create an input field
            var input = $("<input type='text' class='bra' name='branche_nr_"+ nCounter +"' placeholder='Branche Nr."+ nCounter +"' />");
            $divB.append(input);            
            nCounter++;
          }

          //-- Set number of fields in hidden
          $('#qty_fields').val(nCounter);

        });        
      });
    </script>
  </head>  
  <body>
    <form name="frm" action="savefields.asp" method="post">
      <input type="text" name="college" placeholder="University Name" />
      <select name="branches" id="branches">
        <option value="0">-select your branche-</option>
        <option value="1">1</option>
        <option value="2">2</option>
        <option value="3">3</option>
        <option value="4">4</option>
        <option value="5">5</option>
        <option value="6">6</option>
        <option value="7">7</option>
        <option value="8">8</option>
      </select>
      <input type="hidden" name="qty_fields" id="qty_fields" />
      <div id="divBranches"></div>
      <input type="submit" value="submit" />      
    </form>
  </body>
</html>
ASP页面提交:

<%
nQtdFields = request.form("qty_fields")
nCount = 0

do while cint(nCount) < cint(nQtdFields)  
  SQL = "insert into table_name(name) values ('"& request.form("branche_nr_" & nCount) &"')"
  Set objSehirEkle = objConn.execute(SQL)
  nCount = nCount + 1
loop
%>
就这样。 雷加德斯,
Vin。

在我们有足够的信息给出有用的答案之前,您需要发布更多的代码,但同时请阅读。您有一个相当严重的Sql注入漏洞,需要修复。这就是全部,我还可以与您分享什么?