2015-04-24 43 views
0

我試圖將數據插入到oracle數據庫中 數據被插入並更新數據庫,但是每次插入語句即使數據庫完成時頁也會引發錯誤已更新?ASP Visual Basic代碼崩潰...需要幫助很多

我該如何解決這個錯誤?謝謝!

<html> 
<head> 
<link rel="stylesheet" type="text/css" href="style.css"> 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"> 
</head> 
<body> 

<div class="page"> 
    <h1>Connie's Control Panel</h1> 
     <div class="header"> 
      <form action="" method="POST"> 
       <table> 
        <tr> 
         <td>Supplier You Want To Update:</td> 
         <td><input type="text" name= "supplierName" required ></td> 
        </tr> 
        <tr> 
         <td>Supplier Name Updated:</td> 
         <td><input type="text" name= "supplierNameUpdated" required></td> 
        </tr> 

        <tr> 
         <td>Supplier Address Updated:</td> 
         <td><input type="type" name="supplierAddressUpdated" required></td> 
        </tr> 
        <tr> 
         <td>Supplier Rating Updated:</td> 
         <td><input type="type" name="supplierRatingUpdated" required></td> 
        </tr> 
       </table> 

       <input type="submit" name="submit" value="Submit"> 


      </form> 

      <% 
        Dim objConnection 
        Dim objRecordset 
        Dim objUpdateSet 

        Dim nameCheck 
        Dim nameUpdate 
        Dim addressUpdated 
        Dim ratingUpdated 


        nameCheck = Request.Form("supplierName") 
        nameUpdate = Request.Form("supplierNameUpdated") 
        addressUpdated = Request.Form("supplierAddressUpdated") 
        ratingUpdated = Request.Form("supplierRatingUpdated") 

        Set objConnection = Server.CreateObject("ADODB.Connection") 

        With objConnection 
        .ConnectionString = "Provider=MSDAORA.1;Password=DELETED;User ID=n011266e;Data Source=stora;Persist Security Info=True" 
        .Open 


        Set objRecordset = .Execute("SELECT * FROM Suppliers") 


        if nameCheck<>"" then 

         Do while (Not objRecordset.eof) 

         Set objRecordset = .Execute("UPDATE Suppliers SET SupplierName =" & "'" & nameUpdate &"'" & "WHERE SupplierName =" &"'" & nameCheck&"'") 




         objRecordset.MoveNext 

         Loop 

        end if 

        End With 
        objConnection.close 
        Set objConnection = Nothing 
        Set objRecordset = Nothing 
        Set objUpdateSet = Nothing 
       %> 




     </div> 
     <div class="buttons"> 
      <a href="stock.asp" class="btn btn-success"><i class="icon-white icon-pencil"></i> Enter Stock</a> 
      <a href="stockReport.asp" class="btn btn-success">Stock Report</a> 
      <a href="supplier.asp" class="btn btn-success"><i class="icon-white icon-pencil"></i> View Suppliers Details</a> 
      <a href="newSupplier.asp" class="btn btn-success"><i class="icon-white icon-pencil"></i> New Supplier</a> 
      <a href="inputSupplier.asp" class="btn btn-success"><i class="icon-white icon-pencil"></i> Edit Supplier</a> 
     </div> 
</div> 

</body> 

</html> 
+0

拋出什麼錯誤?哪裏? –

+0

也不要在你的問題中提供實際的密碼。 –

+0

在關閉連接之前嘗試關閉您的記錄集。而且 - 你不使用VBA,而是使用vbscript。 –

回答

3

我猜你不用做 「SELECT * FROM供應商」 和do while循環

您可以直接執行

"UPDATE Suppliers SET SupplierName ='nameUpdate' WHERE SupplierName ='nameCheck' " 

可能是因爲你的「objRecordset =執行你得到錯誤.Execute(..)「已經選擇。

+0

非常感謝 –