用经典的asp插入多个记录

时间:2013-05-28 15:13:35

标签: asp-classic

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

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

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

3 个答案:

答案 0 :(得分:0)

好吧,你可以一次只执行多个SQL语句,用分号链接它们:

SQL = "INSERT INTO MyTable (Field1, Field2) VALUES ('name1', 1);" & _
      "INSERT INTO MyTable (Field1, Field2) VALUES ('name2', 2);"
Set objSehirEkle = objConn.execute(SQL)

现在,如果你想对返回的记录集(objSehirEkle)做一些事情,那么你只是指FIRST语句。您可以使用NextRecordset方法访问以下语句的结果,如下所示:

Set objNext = objSehirEkle.NextRecordset

答案 1 :(得分:0)

这是你在一个INSERT语句中插入多个“集合”的方式(你不是说你正在使用哪个数据库和版本;我相信SQL Server 2008及更高版本和MySQL支持这种语法):

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

但正如其他人所说,首先要注意你的SQL注入曝光。

答案 2 :(得分:-1)

如果使用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
%>

就是这样。
Rergards,
VIN。