2016-11-17 89 views
0

我只是想知道爲什麼我不能將新記錄添加到我的所有訪問數據庫表中。我使用下面顯示的html表單和經典的ASP代碼寫入我的表格之一,並且它完美地工作。爲什麼我無法向所有訪問數據庫表添加新記錄?

HTML表單代碼:

<form method="post" action="empresas.asp"> 
<table> 
<tr> 
<td>Código:</td> 
<td><input name="custid"></td> 
</tr><tr> 
<td>Empresa:</td> 
<td><input name="compname"></td> 
</tr><tr> 
<td>Teléfono:</td> 
<td><input name="contname"></td> 
</tr><tr> 
<td>Email:</td> 
<td><input name="address"></td> 
</tr><tr> 
<td>Descripción:</td> 
<td><input name="descr"></td> 
</tr> 
</table> 
<br><br> 
<input type="submit" value="Add New"> 
<input type="reset" value="Cancel"> 
</form> 

傳統的ASP文件編號:

<% 
set conn=Server.CreateObject("ADODB.Connection") 
conn.Provider="Microsoft.Jet.OLEDB.4.0" 
conn.Open "c:/administracion1.mdb" 

sql="INSERT INTO empresas (codigo,nombre," 
sql=sql & "telefono,email,descripcion)" 
sql=sql & " VALUES " 
sql=sql & "('" & Request.Form("custid") & "'," 
sql=sql & "'" & Request.Form("compname") & "'," 
sql=sql & "'" & Request.Form("contname") & "'," 
sql=sql & "'" & Request.Form("address") & "'," 
sql=sql & "'" & Request.Form("descr") & "')" 

on error resume next 
conn.Execute sql,recaffected 
if err<>0 then 
    Response.Write("No update permissions!") 
else 
    Response.Write("<h3>" & recaffected & " record added</h3>") 
end if 
conn.close 
%> 

這些很好地工作。然而,當試圖使用另一個非常相似的表單和表格來做同樣的事情時,我會看到ASP代碼中顯示的消息(「沒有更新權限!」),我真的不明白爲什麼。

+2

您必須禁用「的錯誤......」看到詳細信息或張貼錯誤的代碼而不是正確的代碼。並注意SQL注入! –

+0

謝謝。我希望它能起作用。 –

+0

如果你可以寫入一些表,但不是在同一個mdb/accdb文件中的其他人,那麼我猜想問題在於數據庫,而不是你的傳統ASP代碼,這對我來說看起來OK。正如安東尼奧說,你應該評論「錯誤恢復下一步」 - 你可能會得到一個錯誤消息,爲您提供一些線索。 – John

回答

0

您可以通過使用獲得實際的錯誤:

的Response.Write(「!沒有更新權限 - 」 & Err.Description)

相關問題